Skip to main content

CHANGELOG.md

# Changelog

All notable changes to this project will be documented in this file.

## [0.10.0] - 2026-05-25

### ๐Ÿš€ Features

- Added :jsv_build_opts to customize Suite.Tool input schema validation
- Support returning structured content without mirrored text content from tools

## [0.9.1] - 2026-05-13

### ๐Ÿ› Bug Fixes

- Allow atom casting in compile-time tool schemas

## [0.9.0] - 2026-05-10

### ๐Ÿš€ Features

- Upgrade to JSV 0.19 new cast system, support Decimal 3

## [0.8.0] - 2026-03-30

### ๐Ÿš€ Features

- Added support for logging capabilities

### ๐Ÿšœ Refactor

- [**breaking**] Channel.send_progress/3 will not return :ok instead of {:ok, channel}

## [0.7.0] - 2026-03-16

### ๐Ÿš€ Features

- Use a global registry to support restoring sessions on any node
- [**breaking**] Default protocol version is now 2025-11-25

## [0.6.0] - 2026-03-16

### ๐Ÿ› Bug Fixes

- Return HTTP 200 codes for RPC-level errors

## [0.5.2] - 2026-01-26

### ๐Ÿ› Bug Fixes

- Fixed callback check macros for Elixir 1.20

## [0.5.1] - 2026-01-06

### ๐Ÿ› Bug Fixes

- Use self-contained JSON Schemas when listing tools

## [0.5.0] - 2025-12-19

### ๐Ÿš€ Features

- Added support for tools/list _meta in Suite
- Channels are now created by the HTTP client directly
- Added session controller support in suite
- Prepare channel struct for status indicator
- Pass listener channel to the session controller
- [**breaking**] Session controller channel assigns are not merged in all requests anymore

### ๐Ÿšœ Refactor

- Do not handle file write errors in DevSessionStore

### ๐Ÿ“š Documentation

- Document need for constant node_id for DevSessionStore

## [0.4.2] - 2025-11-29

### ๐Ÿ“š Documentation

- Improvements on user guides

## [0.4.1] - 2025-11-29

### ๐Ÿ› Bug Fixes

- Fixed server name/title that was hardcoded with test values

## [0.4.0] - 2025-11-28

### ๐Ÿš€ Features

- Updated MCP schemas generation to skip content blocks types in structs
- Removed logger calls, using telemetry instead

## [0.3.1] - 2025-11-26

### ๐Ÿ“š Documentation

- Updated getting started doc for example tool to work (#6)

## [0.3.0] - 2025-11-26

### ๐Ÿš€ Features

- Extract module based schemas for tool describe
- Make all RPC request objects serialize as valid requests

### ๐Ÿ› Bug Fixes

- Change error code for unsupported protocol version

### ๐Ÿ“š Documentation

- Started to document some modules
- Added bare documentation for some behaviours
- Added example implementations in behaviours

### โš™๏ธ Miscellaneous Tasks

- Handle formatter variations accross Elixir versions
- Handle formatter variations accross Elixir versions 2
- Added LICENSE
- Remove .tool-versions
- Prevent dialyzer to start on localcluster
- Using Quokka formatter

## [0.2.0] - 2025-11-17

### ๐Ÿš€ Features

- Node ID prototype
- Added the mcp-validator test suite
- Generated schemas for protocol entities
- Ensure keepalive for streams
- Store async tool state in parent state
- New http connection implementation with multiplexing
- New, simpler server implementation and behaviour
- Added support for resources and URI templates
- Added support for async Tasks in tools
- Added support for prompts and arguments
- Added support for authorization layer
- Added Tool using macros and fixed session node retrieval
- Encode unknown method errors
- Session termination and timeout
- Session initialization failure handling
- Added helpers to create MCP entities
- Support extensions in Suite init phases
- Allow invalid_params tuples from tool and prompt calls
- Support node ID configuration
- Accept and ignore cancelled notification
- Accept and ignore roots notification

### ๐Ÿ› Bug Fixes

- Capabilities rendering when no tool is there
- Declare capabilities based on suite components

### ๐Ÿšœ Refactor

- Node disconnect cleanup
- Use session ID as salt for pagination tokens
- Moved MCP entities to the MCP namespace
- Inline JSON serializers for MCP structs

### ๐Ÿงช Testing

- Initialized tests for the statful server
- Fix warnings on module delegations
- Ensure resource and prompt repos receive channel assigns
- Added tests to fix ResourceRepo behaviour

### โš™๏ธ Miscellaneous Tasks

- Move test namespace
- Rename plug derivation to defplug
- Setup mcp jest tool for later
- Tools shoud be initializable
- Tool storage using map
- Renaming namespaces
- Wrap node sync in its own supervisor
- Credo and dialyzer fixes