Changelog
All notable changes to this project are documented in this file.
0.12.1 (2025-07-14)
Code Refactoring
0.12.0 (2025-07-11)
Features
- client sampling capability (#170) (da617a6)
- roots/list and completion features (#178) (d22a6bd)
- server components cursor pagination (#177) (a95eba7)
- server-side sampling capability (#173) (c09e7f3)
Bug Fixes
- allow configuring server request timeout (#182) (e79fe2f)
- do not allow duplicate server components and more convenient API (#180) (bc71df8)
Miscellaneous Chores
- add llms summary about the library (#175) (ed0e608)
- allow different kind of components have the same name (#181) (d5ba6f5)
Code Refactoring
- handle_sampling callback, use frame as entrypoint for notifications (#176) (1e88711)
- interactive tasks now support JSON file input (#172) (9465266)
0.11.3 (2025-07-02)
Bug Fixes
- correctly parse dates when default values are passed (58f6368)
- include frame helpers on module-based component (#163) (15ba2c7)
- server can now send notifications correctly (#166) (33f32de)
Miscellaneous Chores
0.11.2 (2025-06-30)
Bug Fixes
- correctly parse peri numeric contrainsts to json-schema (#160) (808c2c0)
- interactive http tasks should accept custom headers (#159) (c2fe91e)
0.11.1 (2025-06-30)
Bug Fixes
0.11.0 (2025-06-30)
Features
Bug Fixes
- allow users to control external process messages (#149) (8fef4eb)
- correctly encode prompt/resource (#155) (4249b13)
- more genserver mcp server callbacks, plug based startup and documentation (#152) (9c26b1c)
- server behaviour with optional callbacks (#151) (91aa191)
Code Refactoring
0.10.5 (2025-06-25)
Bug Fixes
0.10.4 (2025-06-24)
Bug Fixes
0.10.3 (2025-06-23)
Bug Fixes
0.10.2 (2025-06-23)
Bug Fixes
Code Refactoring
0.10.1 (2025-06-21)
Bug Fixes
- client should send both sse/json headers on POST requests (#134) (e906b7f)
- correctly allows macro-based/callback-based server implementations (#131) (d7bfc75)
- remove last uses of hard-coded Hermes.Server.Registry (cc0ffd9)
0.10.0 (2025-06-18)
Features
- batch operations on server-side (#125) (28eea7c)
- missing notifications handlers (#129) (34d5934)
- support batch operations on client side (#101) (fadf28d)
- tools annotations (#127) (c83e8f1)
Miscellaneous Chores
0.9.1 (2025-06-13)
Bug Fixes
- allow enum specific type on json-schema (#121) (23c9ce2), closes #114
- correctly escape quoted expressions (#119) (0c469c5), closes #118
0.9.0 (2025-06-12)
Features
Bug Fixes
0.8.2 (2025-06-11)
Code Refactoring
0.8.1 (2025-06-10)
Bug Fixes
0.8.0 (2025-06-10)
Features
- inject user and transport data on mcp server frame (#106) (feb2ce3)
- legacy sse server transport (#102) (4a71088)
Bug Fixes
Miscellaneous Chores
0.7.0 (2025-06-09)
Features
0.6.0 (2025-06-09)
Features
- allow customize server registry impl (#94) (f3ac087)
- mcp high level server components definition (#91) (007f41d)
- mcp server handlers refactored (#92) (e213e04)
Bug Fixes
Miscellaneous Chores
Code Refactoring
0.5.0 (2025-06-05)
Features
- client support new mcp spec (#83) (73d14f7)
- enable log disabling (#78) (fa1453f)
- low level genservy mcp server implementation (stdio + stremable http) (#77) (e6606b4)
- mvp higher level mcp server definition (#84) (a5fec1c)
Code Refactoring
0.4.0 - 2025-05-06
Added
- Implemented WebSocket transport (#70)
- Emit
telemetry
events (#54) - Implement client feature
completion
request (#72) - Implement client feature roots, server requests (#73)
0.3.12 - 2025-04-24
Fixed
- Correctly handles "nested" timeouts (genserver vs MCP) (#71)
0.3.11 - 2025-04-17
Added
- Improved core library logging and added verbosity level on interactive/CLI (#68)
0.3.10 - 2025-04-17
Fixed
- Handle SSE ping and reconnect events from server (#65)
0.3.9 - 2025-04-15
Fixed
- Improved and simplified SSE endpoint event URI merging (#64)
Added
- Added internal client/transport state inspection on CLI/mix tasks (#61)
0.3.8 - 2025-04-10
Added
- Created
Operation
struct to standardize client API calls (#56) - Fixed ERTS version to avoid release errors
Fixed
- Resolved client timeout confusion by standardizing timeout handling (#42)
0.3.7 - 2025-04-01
Fixed
- Client reinitialization from interactive CLI (#55)
0.3.6 - 2025-03-28
Added
- New roadmap and protocol update proposal (#53)
- Added documentation for the 2025-03-26 protocol update
0.3.5 - 2025-03-25
Documentation
- Added Roadmap to README (#47)
0.3.4 - 2025-03-20
Added
help
command and flag on the interactive CLI (#37)- improve SSE connection status on interactive task/cli (#37)
0.3.3 - 2025-03-20
Added
- Client request cancellation support (#35)
- Improved URI path handling for SSE transport (#36)
- Enhanced interactive mix tasks for testing MCP servers (#34)
0.3.2 - 2025-03-19
Added
- Ship static binaries to use hermes-mcp as standalone application
0.3.1 - 2025-03-19
Added
- Ship interactive mix tasks
stdio.interactive
andsse.interactive
to test MCP servers
0.3.0 - 2025-03-18
Added
- Structured server-client logging support (#27)
- Progress notification tracking (#26)
- MCP domain model implementation (#28)
- Comprehensive SSE unit tests (#20)
- Centralized state management (#31)
- Standardized error response handling (#32)
Fixed
- Improved domain error handling (#33)
0.2.3 - 2025-03-12
Added
- Enhanced SSE transport with graceful shutdown capabilities (#25)
- Improved SSE streaming with automatic reconnection handling (#25)
0.2.2 - 2025-03-05
Added
- Support for multiple concurrent client <> transport pairs (#24)
- Improved client resource management
0.2.1 - 2025-02-28
Added
- Support for custom base and SSE paths in HTTP/SSE client (#19)
- Enhanced configuration options for SSE endpoints
0.2.0 - 2025-02-27
Added
- Implemented HTTP/SSE transport (#7)
- Support for server-sent events communication
- HTTP client integration for MCP protocol
- Streaming response handling
Documentation
- Extensive guides and documentation improvements
0.1.0 - 2025-02-26
Added
Implemented STDIO transport (#1) for MCP communication
- Support for bidirectional communication via standard I/O
- Automatic process monitoring and recovery
- Environment variable handling for cross-platform support
- Integration test utilities in Mix tasks
Created stateful client interface (#6)
- Robust GenServer implementation for MCP client
- Automatic initialization and protocol handshake
- Synchronous-feeling API over asynchronous transport
- Support for all MCP operations (ping, resources, prompts, tools)
- Proper error handling and logging
- Capability negotiation and management
Developed JSON-RPC message parsing (#5)
- Schema-based validation of MCP messages
- Support for requests, responses, notifications, and errors
- Comprehensive test suite for message handling
- Encoding/decoding functions with proper validation
Established core architecture and client API
- MCP protocol implementation following specification
- Client struct for maintaining connection state
- Request/response correlation with unique IDs
- Initial transport abstraction layer
Documentation
- Added detailed RFC document describing the library architecture
- Enhanced README with project overview and installation instructions