Releases
v0.13.1
0.13.1 (2025-08-04)
Features
add independently configurable logs (#113 ) (bb0be27 )
add internal client/transport state inspect on cli/mix tasks (#61 ) (83550ee )
allow customize server registry impl (#94 ) (f3ac087 )
allow json schema fields on tools/prompts definition (#99 ) (0345f12 )
allow multiple client <> transport pairs (#24 ) (933876d )
allow redact patterns on server assigns/data (#190 ) (07af99f )
allow sse graceful shutdown and handle sse streaming reconnection (#25 ) (008725d )
basic client interface API (fd3412d )
batch operations on server-side (#125 ) (28eea7c )
better dsl for embedded nested fields on server components (#199 ) (097f5fd )
centralized state management (#31 ) (76c0ab1 )
client request cancelation (#35 ) (ace2c3b )
client sampling capability (#170 ) (da617a6 )
client support new mcp spec (#83 ) (73d14f7 )
create client operation struct (#56 ) (083bda6 )
enable log disabling (#78 ) (fa1453f )
extensive guides and documentation (b39ccca )
http/sse transport (#7 ) (690a57f )
implement termination cleanup on Hermes.Client (#43 ) (d7bbf5d )
improve cli experience with help cmd and sse conn info (#37 ) (0122af2 )
improve cli experience with help cmd and sse conn info (#37 ) (7a9d4e7 )
improve interactive mix tasks for testing mcp servers (#34 ) (53779a9 )
improve log handling on core lib and interactive/cli (#68 ) (7717f37 )
improve sse uri path handling (#36 ) (7ed2ea8 )
improve sse uri path handling (#36 ) (f044d7d )
inject user and transport data on mcp server frame (#106 ) (feb2ce3 )
legacy sse server transport (#102 ) (4a71088 )
low level genservy mcp server implementation (stdio + stremable http) (#77 ) (e6606b4 )
mcp domain model (#28 ) (f8c877b )
mcp high level server components definition (#91 ) (007f41d )
mcp server handlers refactored (#92 ) (e213e04 )
missing notifications handlers (#129 ) (34d5934 )
mvp higher level mcp server definition (#84 ) (a5fec1c )
new server response contents for tools/resources with annotations (2025-06-18) (#195 ) (9b65308 )
pretty print tool arguments on list_tools (#57 ) (03f8781 )
progress notifications (#26 ) (a3245a0 )
propagating headers on requests (#214 ) (a740aa4 )
resources templates (#193 ) (1457e59 )
roadmap and protocol update proposal (#53 ) (52cbf10 )
roots/list and completion features (#178 ) (d22a6bd )
rpc and mcp specific message parsing (#5 ) (531b416 )
runtime server components, simplified api (#153 ) (8af35d6 )
server components cursor pagination (#177 ) (a95eba7 )
server-side sampling capability (#173 ) (c09e7f3 )
sse: support custom base and sse paths for client (#19 ) (787bc2d )
sse: unit tests... (#20 ) (4941fd4 )
standard error resposne (#32 ) (52602dd )
stateful client interface (#6 ) (6b97987 )
structured server-client logging support (#27 ) (4e1dfa7 )
support batch operations on client side (#101 ) (fadf28d )
telemetry (#54 ) (c52734e )
tools annotations (#127 ) (c83e8f1 )
tools output schema feature (2025-06-18) (#194 ) (8088a49 )
websocket transport (#70 ) (cee3945 )
Bug Fixes
allow configuring server request timeout (#182 ) (e79fe2f )
allow empty capabilities on incoming JSON-RPC messages (#105 ) (f0ad4cf ), closes #96
allow enum specific type on json-schema (#121 ) (23c9ce2 ), closes #114
allow registering a name for the client supervisor (#117 ) (d356511 )
allow users to control external process messages (#149 ) (8fef4eb )
client reinitialization from interactive cli (#55 ) (cb6b167 )
client should send both sse/json headers on POST requests (#134 ) (e906b7f )
correctly allows macro-based/callback-based server implementations (#131 ) (d7bfc75 )
correctly encode prompt/resource (#155 ) (4249b13 )
correctly escape quoted expressions (#119 ) (0c469c5 ), closes #118
correctly handle mcp requests on phoenix apps (#88 ) (09f4235 ), closes #86
correctly parse dates when default values are passed (58f6368 )
correctly parse peri numeric contrainsts to json-schema (#160 ) (808c2c0 )
correctly set supported versions for different transports (#205 ) (30435e1 )
default implementation for server handle_notification (#135 ) (c958041 )
do not allow duplicate server components and more convenient API (#180 ) (bc71df8 )
do not handle domain errors (#33 ) (20dde00 )
do not handle domain errors (#33 ) (c15b260 )
fixed erts version to avoid release error (80780d2 )
handle SSE ping and reconnect events from server (#65 ) (dccdca3 )
hermes should respect mix releases startup (#109 ) (f42d476 )
include formatter on hex release (#139 ) (d91b244 )
include frame helpers on module-based component (#163 ) (15ba2c7 )
interactive http tasks should accept custom headers (#159 ) (c2fe91e )
loggin should respect the logger config (#157 ) (0fbf6a6 )
make gun/websocket optional (#76 ) (8f55057 )
more genserver mcp server callbacks, plug based startup and documentation (#152 ) (9c26b1c )
nested timeout (#71 ) (c7ffa71 )
normalize transport api (#146 ) (8a30a34 ), closes #145
remove assign redact feature, simplify server state inspect (#206 ) (a4d9ae9 )
remove last uses of hard-coded Hermes.Server.Registry (cc0ffd9 )
server behaviour with optional callbacks (#151 ) (91aa191 )
server can now send notifications correctly (#166 ) (33f32de )
server session expiration on idle (configurable) (#143 ) (d9f7164 )
sse endpoint uri merging (#64 ) (2fa7869 )
use mix.lock as cache key (#58 ) (6a3134a )
Miscellaneous Chores
Code Refactoring
base mcp server implementation correctly uses streamable http (#85 ) (29060fd )
cleaner peri integration (#137 ) (43226cc ), closes #123
do not hangle on transport process (#185 ) (e6ba926 )
handle_sampling callback, use frame as entrypoint for notifications (#176 ) (1e88711 )
higher-level client implementation (#111 ) (5de2162 )
improve runtime components schema def (#154 ) (96ff2a9 )
interactive tasks now support JSON file input (#172 ) (9465266 )
remove batch messaging feature (#183 ) (99458c0 )
tests (#93 ) (ca31feb )
You can’t perform that action at this time.