All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
11.0.0 - 2026-01-19
- (conductor) infer response tracing direction from context
- (sacp) add Response variant to MessageCx
- (sacp) revert accidental JrMessageHandler and JrRequestCx renames
- (conductor) normalize acp_url field in trace snapshot tests
- (conductor) handle Response variants in message forwarding
- (conductor) panic on Response in forwarding functions
- go back from
connect_fromtobuilder - fix unresolved rustdoc link warnings for v11 API
- (sacp) [breaking] rename HandleMessageFrom to HandleDispatchFrom
- (sacp) [breaking] rename *_cx variables to descriptive names
- (sacp) [breaking] rename MessageCx to Dispatch for clearer semantics
- (sacp) [breaking] rename Serve to ConnectTo for clearer semantics
- (sacp) [breaking] replace JrLink/JrPeer with unified Role-based API
- (sacp) rename JrMessageHandler to HandleMessageFrom
- (sacp) rename JrConnectionBuilder to ConnectFrom
- (sacp) simplify spawn_connection API
- (sacp) rename context types for clarity
- (sacp) rename JrResponder ecosystem to Run
- (sacp) rename Jr* traits to JsonRpc* for clarity
- get tracing working
- refactor tracing
- (conductor) simplify trace bridge API
- (conductor) move tracing to transport layer with bridge wrappers
- remove into_connection_builder
- add a test that shows a request going all the way back to the client
- (sacp-conductor) add trace snapshot for client-hosted MCP server
- (sacp-conductor) add trace snapshot test for agent-initiated MCP tool calls
- wip
- (sacp) introduce JrResponseCx for incoming response handling
10.0.1 - 2025-12-31
- Merge pull request #109 from nikomatsakis/ci-binaries
- add binary releases for CLI tools
10.0.0-alpha.4 - 2025-12-30
- (deps) [breaking] upgrade agent-client-protocol-schema to 0.10.5
10.0.0-alpha.3 - 2025-12-29
- (sacp) add tool enable/disable filtering for MCP servers
- (sacp-conductor) add standalone MCP server tests
- [breaking] make
McpServerimplement component
10.0.0-alpha.2 - 2025-12-29
- updated the following local packages: sacp, sacp-tokio
10.0.0-alpha.1 - 2025-12-28
- (sacp) add tool_fn for concurrent stateless tools
- (sacp) use unstructured output for non-object MCP tool results
- (sacp-conductor) route proxied responses through conductor message loop
- (sacp-conductor) use Agent endpoint for proxy mode successor forwarding
- [breaking] split peer.rs into separate peer and link modules
- [breaking] update module and documentation references from role to peer
- [breaking] rename FooRole types to FooPeer
- [breaking] rename link endpoint types from Foo to FooRole
- [breaking] give component a link
- refactor!(conductor): replace ComponentList with typed instantiator traits
- [breaking] split Conductor into agent vs proxy mode with ConductorLink trait
- use self.conductor_tx
- [breaking] rename End type param to Peer, endpoint vars to peer
- update UntypedRole to UntypedRole in doc examples
- [breaking] rename Endpoint to Role
- (sacp) rename JrRole to JrLink, Role type param to Link
- [breaking] rename JrRole to JrLink (and the Role associated type to Link)
- (sacp-conductor) use explicit endpoints for ConductorToClient
- (sacp) add block_task() builder pattern for SessionBuilder
- (sacp) rename with_client to run_until
- update references for renamed methods
9.0.0 - 2025-12-19
- (sacp) [breaking] require Send for JrMessageHandler with boxing witness macros
- (sacp) [breaking] use AsyncFnMut for tool closures with macro workaround
- (sacp) [breaking] merge pending_tasks into JrResponder and remove 'scope lifetime
- (sacp) [breaking] add scoped lifetime support for MCP servers
- (sacp) [breaking] add scoped lifetime to JrConnectionBuilder and JrConnection
- (sacp-conductor) use pre-built binaries in all integration tests
- (sacp-conductor) use pre-built binaries in trace_generation test
- (sacp) simplify return types with impl Trait
- (sacp-conductor) formatting and accept impl ToString for name
- Merge pull request #88 from nikomatsakis/main
- (sacp) [breaking] remove to_future_hack from tool_fn API
8.0.0 - 2025-12-17
- (sacp) ensure NewSessionRequest flows through handler chain
- (sacp) add tool_fn!() macro for MCP tool registration
7.0.0 - 2025-12-17
- update examples and tests to use new MCP server API
- update MCP server documentation for new API
- rename handler chain terminology to connection builder
5.0.1 - 2025-12-15
- (sacp) rename MatchMessage to MatchMessageFrom
- new session redirection support
5.0.0 - 2025-12-12
- [breaking] introduce role-based connection API
- release
4.0.0 - 2025-12-12
- [breaking] introduce role-based connection API
3.0.0 - 2025-11-25
- (elizacp) add HTTP MCP server support and update tests to use HTTP bridge
- (conductor) change default MCP bridge mode to HTTP
- (conductor) return 202 Accepted for MCP notifications per HTTP spec
- (conductor) correct typo in actor parameter name
- (conductor) update tests to use McpBridgeMode instead of Option<Vec>
- (conductor) simplify HTTP MCP bridge with typed HttpMessage enum
- (conductor) update outdated comments in MCP bridge modules
- move HTTP and implement shared code
- move stdio into the stdio arm
- (conductor) introduce McpBridgeMode enum to support multiple bridge types
- adopt newer convention
- (conductor) extract MCP bridge actor into trait with stdio submodule
- implementing HTTP MCP bridge
- impenetrable error
2.1.1 - 2025-11-23
- (elizacp) export ElizaAgent as public Component
2.1.0 - 2025-11-22
- (sacp-conductor) write tracing logs to debug file when --debug is enabled
- (sacp-conductor) add --log option for setting log level
- (sacp-conductor) strip ANSI escape codes from stderr in debug logs
- (sacp-conductor) add debug logging with --debug and --debug-dir flags
- (elizacp) add MCP tools/list support and refactor client handling
- (sacp-conductor) empty conductor now responds with proxy capability
- (sacp-conductor) handle empty components in proxy mode
- (sacp-conductor) avoid creating debug logger twice
- (sacp-conductor) simplify logging to only use command-line args
- (sacp-conductor) move main logic into library
2.0.1 - 2025-11-18
- (yopo) accept impl ToString for prompt parameter
- replace yolo_prompt with direct yopo::prompt calls
- upgrade to sacp-proxy 2.0.0 and migrate tests to McpServer API
2.0.0 - 2025-11-17
- (sacp-proxy) add meta fields to all request/notification types
- (conductor) add session-aware MCP bridge with connection correlation
- (elizacp) update tool name regex to match MCP spec
- (test) suppress dead code warnings from mcp_integration module
- Merge pull request #47 from nikomatsakis/main
- (test) remove broken test_mcp_bridge_with_session_id
- (test) use block_task() instead of custom recv helper
- (sacp-conductor) verify MCP tools receive correct session_id
- add test helpers and elizacp component wrapper
1.0.1 - 2025-11-15
- updated the following local packages: sacp-proxy
1.0.0 - 2025-11-13
- (sacp-proxy) [breaking] move rmcp integration to separate sacp-rmcp crate
1.0.0-alpha.9 - 2025-11-12
- Merge pull request #30 from nikomatsakis/main
- (sacp) remove Deref impl from JrRequestCx
- (sacp) add Component::serve() and simplify channel API
1.0.0-alpha.8 - 2025-11-12
- Merge pull request #28 from nikomatsakis/main
1.0.0-alpha.7 - 2025-11-11
- Merge pull request #26 from nikomatsakis/main
- [breaking] make Component trait ergonomic with async fn and introduce DynComponent
- [breaking] make Component the primary trait with Transport as blanket impl
1.0.0-alpha.6 - 2025-11-11
- (sacp-conductor) implement Component trait for Conductor
- (sacp-conductor) add SYMPOSIUM_LOG environment variable for file logging
- Merge pull request #24 from nikomatsakis/main
1.0.0-alpha.5 - 2025-11-11
- convert Stdio to unit struct for easier reference
1.0.0-alpha.4 - 2025-11-11
- cleanup and simplify some of the logic to avoid "indirection" through
- remove ComponentProvider trait
- unify Transport and Component traits with BoxFuture-returning signatures
- create selective jsonrpcmsg re-export module
- replace jsonrpcmsg::Message with sacp::JsonRpcMessage throughout codebase
- move Component trait to sacp-proxy crate
- (sacp) improve IntoJrTransport and Component trait impls
- (sacp-conductor) make Component trait mirror IntoJrTransport interface
- (sacp-conductor) introduce Component trait for better semantics
1.0.0-alpha.3 - 2025-11-09
- (sacp-conductor) implement lazy component initialization
- (sacp-conductor) add ComponentList trait for lazy component instantiation
- (sacp-conductor) prevent response messages from overtaking notifications
- Merge pull request #18 from nikomatsakis/main
- (sacp-conductor) document lazy initialization and ComponentList trait
- (sacp-conductor) use if-let and assert in lazy initialization
- (sacp-conductor) route all message forwarding through central queue
- (sacp-conductor) decouple message handler from component count
1.0.0-alpha.2 - 2025-11-08
- (sacp) add convenience methods for common connection patterns
- fix doctests for API refactoring
- wip wip wip
- wipwipwip
- [breaking] remove Unpin bounds and simplify transport API
0.2.0 - 2025-11-04
- fix github url
- (sacp-conductor) add comprehensive crate-level documentation
- (sacp) [breaking] rename json_rpc_cx to connection_cx
- rename JsonRpcRequest to JrRequest
- add READMEs for sacp-tokio, sacp-proxy, and sacp-conductor
0.1.1 - 2025-10-30
- replace crate::Error with sacp::Error in dependent crates
- remove more uses of
agent_client_protocl_schema - replace acp:: with crate::/sacp:: throughout codebase
- rename JsonRpc* types to Jr* across all crates
- (deps) switch from agent-client-protocol to agent-client-protocol-schema
- prepare release-plz