From 4dbbfdfcfa45138cccc3b89f28f793e336b16d24 Mon Sep 17 00:00:00 2001 From: Ates Goral Date: Tue, 15 Jul 2025 11:16:42 -0400 Subject: [PATCH 1/2] Add CHANGELOG.md --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..426cbe61 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.1.0] - 2025-05-30 + +Initial release From e046b8a95c231759632cb61f8baa435d05af9318 Mon Sep 17 00:00:00 2001 From: Ates Goral Date: Tue, 15 Jul 2025 12:11:35 -0400 Subject: [PATCH 2/2] Update CHANGELOG update rules and ask Cursor to populate Unreleased --- .cursor/rules/release-changelogs.mdc | 35 +++++++++------------------- CHANGELOG.md | 17 ++++++++++++++ 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/.cursor/rules/release-changelogs.mdc b/.cursor/rules/release-changelogs.mdc index a5508dd7..d2470902 100644 --- a/.cursor/rules/release-changelogs.mdc +++ b/.cursor/rules/release-changelogs.mdc @@ -1,30 +1,17 @@ --- -description: writing changelog markdown when cutting a new release of the gem -globs: +description: Updating CHANGELOG.md before cutting a new release of the gem +globs: CHANGELOG.md alwaysApply: false --- -- output the changelog as markdown when asked. + +- start by refreshing your knowledge on the Keep a Changelog convention by reading the format spec referenced at the top of CHANGELOG.md +- stick to Keep a Changelog +- entries should be terse and in a top-level flat list: do not nest +- follow this format for entries: + - Terse description of the change (#nnn) - git tags are used to mark the commit that cut a new release of the gem - the gem version is located in [version.rb](mdc:lib/mcp/version.rb) - use the git history, especially merge commits from PRs to construct the changelog -- when necessary, look at the diff of files changed to determine whether a PR should be listed in - - ## Added; adds new functionality - - ## Changed; alters functionality; especially backward compatible changes - - ## Fixed; bugfixes that are forward compatible - -use the following format for changelogs: - -``` -## Added -- New functionality added that was not present before - -## Changed -- Alterations to functionality that may indicate breaking changes - -## Fixed -- Bug fixes - -#### Full change list: -- [Name of the PR #123](https:/github.com/modelcontextprotocol/ruby-sdk/pull/123) @github-author-username -- [Name of the PR #456](https:/github.com/modelcontextprotocol/ruby-sdk/pull/456) @another-github-author -``` +- when necessary, look at the diff of files changed to determine the true nature of the change +- maintenance PRs that don't concern end users of the gem should not be listed in the changelog +- when checking PRs, see if there's an upstream remote, and if so, fetch PRs from upstream instead of origin diff --git a/CHANGELOG.md b/CHANGELOG.md index 426cbe61..71a520f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Custom methods support via `define_custom_method` (#75) +- Streamable HTTP transport implementation (#33) +- Tool argument validation against schemas (#43) + +### Changed + +- Server context is now optional for Tools and Prompts (#54) +- Improved capability handling and removed automatic capability determination (#61, #63) +- Refactored architecture in preparation for client support (#27) + +### Fixed + +- Input schema validation for schemas without required fields (#73) +- Error handling when sending notifications (#70) + ## [0.1.0] - 2025-05-30 Initial release