diff --git a/CHANGELOG.md b/CHANGELOG.md index 938bdb9..911c383 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,16 @@ 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.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.4] - 2026-04-30 + +### Fixed +- **MCP tool discovery**: Fixed `capabilities` declaration in MCP initialization so clients can discover and call tools. Previously sent `capabilities={}` which prevented tool discovery; now correctly sends `capabilities={"tools": {}}` (#3, thanks @johnnyoshika) +- **Inline formatting in paragraphs**: Bold, italic, and links now render correctly instead of appearing as literal markdown syntax. The paragraph handler was re-serializing the rich AST back to a plain string before sending to Substack; now passes the structured content list directly to `post.paragraph()` (#4, thanks @johnnyoshika) +- **Captioned images**: Embedded images via `![alt](url)` markdown now render as actual images instead of literal `![alt](url)` text. The handler now uses Substack's native `captionedImage` block type via `post.add()` (#5, thanks @johnnyoshika) + +### Infrastructure +- Synced `pyproject.toml` version field with the released version (was lagging at 1.0.0) + ## [1.0.3] - 2025-07-08 ### Fixed diff --git a/package.json b/package.json index 0c0213c..af0ae60 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "substack-mcp-plus", - "version": "1.0.3", + "version": "1.0.4", "description": "Unofficial Substack MCP server. Born from frustration, built with AI. 12 tools, browser auth, rich text support. Not affiliated with Substack Inc.", "type": "module", "main": "src/index.js", diff --git a/pyproject.toml b/pyproject.toml index 5832702..1cc3837 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "substack-mcp-plus" -version = "1.0.0" +version = "1.0.4" description = "Unofficial MCP server for Substack with rich text formatting (not affiliated with Substack Inc.)" readme = "README.md" requires-python = ">=3.10"