Skip to content

Commit b51ea25

Browse files
committed
chore(release): 0.11.5 — server requests across HTTP sessions
CLAUDE.md and AGENTS.md also record the .github/ files now in the init copy set.
1 parent 292ff3f commit b51ea25

8 files changed

Lines changed: 122 additions & 40 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Developer Protocol
22

33
**Package:** `@cyanheads/mcp-ts-core`
4-
**Version:** 0.11.4
4+
**Version:** 0.11.5
55
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
66
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.30.0
77
**Zod:** ^4.4.3
@@ -22,7 +22,7 @@ This package serves two consumer paths. When making changes, know which audience
2222
| **Direct package import** — existing project pulls in the package | `bun add @cyanheads/mcp-ts-core``import { createApp, tool, z } from '@cyanheads/mcp-ts-core'` | Public API surface (`src/`) — existing consumers feel changes immediately on upgrade |
2323
| **Init-scaffolded server** — fresh project bootstrapped from this repo's templates | `bunx @cyanheads/mcp-ts-core init [name]` copies `templates/` into the new directory | `templates/` — only affects newly scaffolded servers, not existing ones |
2424

25-
Both paths share the same public API. Init copies starter `package.json`, configs (`tsconfig`, `biome.json`, `vitest.config.ts`, `devcheck.config.json`, `bunfig.toml`), `.env.example`, `Dockerfile`, `LICENSE`, `.gitattributes`, `CLAUDE.md`/`AGENTS.md`, example definitions and tests, framework `scripts/`, and external-audience `skills/`. `_`-prefixed files (e.g. `_.gitignore`) drop the prefix on copy. Existing files are never overwritten; `init` without a name scaffolds in place (upgrade flow). After init, consult the `setup` skill.
25+
Both paths share the same public API. Init copies starter `package.json`, configs (`tsconfig`, `biome.json`, `vitest.config.ts`, `devcheck.config.json`, `bunfig.toml`), `.env.example`, `Dockerfile`, `LICENSE`, `.gitattributes`, `CLAUDE.md`/`AGENTS.md`, `.github/` (issue forms, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `SECURITY.md`), example definitions and tests, framework `scripts/`, and external-audience `skills/`. `_`-prefixed files (e.g. `_.gitignore`) drop the prefix on copy. Existing files are never overwritten; `init` without a name scaffolds in place (upgrade flow). After init, consult the `setup` skill.
2626

2727
---
2828

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CLAUDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Developer Protocol
22

33
**Package:** `@cyanheads/mcp-ts-core`
4-
**Version:** 0.11.4
4+
**Version:** 0.11.5
55
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
66
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.30.0
77
**Zod:** ^4.4.3
@@ -22,7 +22,7 @@ This package serves two consumer paths. When making changes, know which audience
2222
| **Direct package import** — existing project pulls in the package | `bun add @cyanheads/mcp-ts-core``import { createApp, tool, z } from '@cyanheads/mcp-ts-core'` | Public API surface (`src/`) — existing consumers feel changes immediately on upgrade |
2323
| **Init-scaffolded server** — fresh project bootstrapped from this repo's templates | `bunx @cyanheads/mcp-ts-core init [name]` copies `templates/` into the new directory | `templates/` — only affects newly scaffolded servers, not existing ones |
2424

25-
Both paths share the same public API. Init copies starter `package.json`, configs (`tsconfig`, `biome.json`, `vitest.config.ts`, `devcheck.config.json`, `bunfig.toml`), `.env.example`, `Dockerfile`, `LICENSE`, `.gitattributes`, `CLAUDE.md`/`AGENTS.md`, example definitions and tests, framework `scripts/`, and external-audience `skills/`. `_`-prefixed files (e.g. `_.gitignore`) drop the prefix on copy. Existing files are never overwritten; `init` without a name scaffolds in place (upgrade flow). After init, consult the `setup` skill.
25+
Both paths share the same public API. Init copies starter `package.json`, configs (`tsconfig`, `biome.json`, `vitest.config.ts`, `devcheck.config.json`, `bunfig.toml`), `.env.example`, `Dockerfile`, `LICENSE`, `.gitattributes`, `CLAUDE.md`/`AGENTS.md`, `.github/` (issue forms, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `SECURITY.md`), example definitions and tests, framework `scripts/`, and external-audience `skills/`. `_`-prefixed files (e.g. `_.gitignore`) drop the prefix on copy. Existing files are never overwritten; `init` without a name scaffolds in place (upgrade flow). After init, consult the `setup` skill.
2626

2727
---
2828

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<div align="center">
77

8-
[![Version](https://img.shields.io/badge/Version-0.11.4-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![MCP Spec](https://img.shields.io/badge/MCP%20Spec-2025--11--25-8A2BE2.svg?style=flat-square)](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-11-25/changelog.mdx)
8+
[![Version](https://img.shields.io/badge/Version-0.11.5-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![MCP Spec](https://img.shields.io/badge/MCP%20Spec-2025--11--25-8A2BE2.svg?style=flat-square)](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-11-25/changelog.mdx)
99

1010
[![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.30.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.0%2B-blueviolet.svg?style=flat-square)](https://bun.sh/)
1111

changelog/0.11.x/0.11.5.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
summary: "Server-initiated requests survive the stateful HTTP request boundary, so ctx.elicit completes over Streamable HTTP instead of stranding the handler; init scaffolds the .github community-health files."
3+
breaking: false
4+
security: false
5+
agent-notes: |
6+
An `init` run — including in place, since `init` only skips files that already
7+
exist — now writes `.github/CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, and
8+
`SECURITY.md`. `SECURITY.md` ships a `[your-contact-email]` placeholder and
9+
`CONTRIBUTING.md` a commented-out PR-policy line; fill both in.
10+
---
11+
12+
# 0.11.5 — 2026-08-12
13+
14+
## Added
15+
16+
- **`.github/` community-health files scaffold with `init`**`CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, and `SECURITY.md` under `templates/.github/`, alongside the issue forms already there. This repo gains its own two and enables blank issues, so a report fitting neither form has a path.
17+
18+
## Changed
19+
20+
- **`changelog/template.md`'s authoring guide states the length ceiling** — bullet shape, ~40 words or two sentences, a list of what to cut, and a worked example of the same fact at both sizes. `templates/changelog/template.md` mirrors it and `git-wrapup` 1.10 carries the matching tone rule.
21+
- **`api-canvas` 2.1** — the dataframe trio ships together wherever canvas is integrated: `dataframe_query` and `dataframe_describe` are both required, and `dataframe_drop` is opt-in behind a server env var, registered via `disabledTool()` while the flag is off.
22+
- **`design-mcp-server` 2.21** — a server name must not overclaim breadth on either axis (one provider's API is not aggregation; one jurisdiction belongs in the name), and the tool prefix is a separate identifier that a later repo rename need not move.
23+
- **`bun run test:package` typechecks, builds, and tests a scaffold installed from the packed tarball**, offline, so an undeclared template import can no longer resolve through the repository. A packaging test also pins `--omit=peer` onto both Dockerfiles' production install and OTEL add.
24+
25+
## Fixed
26+
27+
- **`ctx.elicit` completes over stateful Streamable HTTP.** Server-initiated requests now carry a session-unique wire ID registered on the `SessionStore`, so a response arriving on a later POST reaches the `Server` awaiting it rather than the fresh per-request instance handling that POST.
28+
- **A terminated or stale HTTP session settles its pending server requests** with a `ConnectionClosed` error, instead of leaving the handler awaiting a response that can no longer arrive.

docs/tree.md

Lines changed: 81 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@cyanheads/mcp-ts-core",
3-
"version": "0.11.4",
3+
"version": "0.11.5",
44
"mcpName": "io.github.cyanheads/mcp-ts-core",
55
"description": "Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.",
66
"files": [

server.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
"url": "https://github.com/cyanheads/mcp-ts-core",
77
"source": "github"
88
},
9-
"version": "0.11.4",
9+
"version": "0.11.5",
1010
"packages": [
1111
{
1212
"registryType": "npm",
1313
"registryBaseUrl": "https://registry.npmjs.org",
1414
"identifier": "@cyanheads/mcp-ts-core",
1515
"runtimeHint": "bun",
16-
"version": "0.11.4",
16+
"version": "0.11.5",
1717
"packageArguments": [
1818
{
1919
"type": "positional",
@@ -42,7 +42,7 @@
4242
"registryBaseUrl": "https://registry.npmjs.org",
4343
"identifier": "@cyanheads/mcp-ts-core",
4444
"runtimeHint": "bun",
45-
"version": "0.11.4",
45+
"version": "0.11.5",
4646
"packageArguments": [
4747
{
4848
"type": "positional",

0 commit comments

Comments
 (0)