Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions bench/baselines/controlled-v2.fixture.json
Original file line number Diff line number Diff line change
Expand Up @@ -1911,13 +1911,13 @@
"status": "observed"
}
},
"environment_label": "local",
"previous_sha256": "dc9dd194dd7697d9042808fc6d3dd4d64e1a1834d361b5eb22b8aa90c04a384e",
"protocol_sha256": "2e5ffbea044154e4e2e4f196cd4d2d2910228853ac1706afa167bb11fb2315eb",
"reason": "scorer v5 token economics diagnostic metrics",
"environment_label": "ci-container",
"previous_sha256": "323f501c1b99848a57a6d91c60dbfe148545a094c511000872483f42705ebcab",
"protocol_sha256": "ae20642617060436c544a5a17e3dce02d06f3fe978fd55a2d000ace5c63c0770",
"reason": "Align the controlled baseline with the committed v5 scorer protocol used by DocPull 6.5.1.",
"schema_version": 2,
"source_report_sha256": "24c0b2e8b38a25b65f5ee0b5dcc85d9aa0d92d58ee05899f896053e64dac26b5",
"source_report_sha256": "d99ac67947588254ee388a31049d8df2e62d87e48ed45f40dd16d41b0abe3f27",
"suite_sha256": "21ea6cca08e27dcb7f52d1ebc6b38f969949240576ac9b6a1b13a1aa3374d639",
"system": "fixture",
"updated_at": "2026-07-22T03:30:30.077676+00:00"
"updated_at": "2026-09-04T21:04:23.861629+00:00"
}
6 changes: 3 additions & 3 deletions bench/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [6.5.1] - 2026-09-04

### Fixed
- Constrain the optional MCP runtime to the compatible 1.x series. This prevents
fresh `docpull[mcp]` installations from resolving MCP 2.x, whose low-level
server API is incompatible with DocPull 6.5.

## [6.4.0] - 2026-07-16

### Added
Expand Down
4 changes: 2 additions & 2 deletions mcp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@
"overrides": {
"@hono/node-server": "^2.0.4",
"ajv": "^8.18.0",
"fast-uri": "^3.1.5",
"fast-uri": "^3.1.6",
"hono": "4.12.34",
"ip-address": "^10.3.1",
"path-to-regexp": "^8.4.2",
"qs": "^6.15.2",
"qs": "^6.16.0",
"zod": "^4.4.3"
},
"devDependencies": {
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@
},
"overrides": {
"@hono/node-server": "2.0.11",
"fast-uri": "3.1.5",
"fast-uri": "3.1.6",
"hono": "4.12.34",
"ip-address": "10.3.1",
"postcss": "^8.5.10"
"postcss": "^8.5.10",
"qs": "6.16.0"
},
"workspaces": [
"mcp",
Expand Down
2 changes: 1 addition & 1 deletion plugin/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "docpull",
"version": "6.5.0",
"version": "6.5.1",
"description": "Pull public web sources into Claude Code. Indexes static and server-rendered sites as local Markdown with conditional-GET caching, then exposes them as MCP tools. Local, browser-free, no API keys.",
"author": {
"name": "Raintree Technology",
Expand Down
2 changes: 1 addition & 1 deletion plugin/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "docpull",
"name": "docpull",
"version": "6.5.0",
"version": "6.5.1",
"description": "Pull public web sources into Codex as local, searchable Markdown through docpull's MCP server.",
"skills": "./skills/",
"mcpServers": "./.mcp.json",
Expand Down
2 changes: 1 addition & 1 deletion plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The plugin wraps the `docpull` CLI. Install the MCP extra first:

```bash
pip install 'docpull[mcp]' # or: pipx install 'docpull[mcp]'
docpull --version # should print 6.5.0 or newer
docpull --version # should print 6.5.1 or newer
docpull mcp --help
```

Expand Down
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "docpull"
version = "6.5.0"
version = "6.5.1"
dynamic = []
description = "Declare, sync, diff, and lock context dependencies for AI agents"
readme = {file = "README.md", content-type = "text/markdown"}
Expand Down Expand Up @@ -110,7 +110,7 @@ tokens = [
]
mcp = [
"cryptography>=50.0.0",
"mcp>=1.28.1",
"mcp>=1.28.1,<2",
"pydantic-settings>=2.14.2",
"pyjwt>=2.13.0",
"python-multipart>=0.0.27",
Expand Down Expand Up @@ -156,7 +156,7 @@ all = [
"trafilatura>=1.12.0",
"tiktoken>=0.7.0",
"cryptography>=50.0.0",
"mcp>=1.28.1",
"mcp>=1.28.1,<2",
"pydantic-settings>=2.14.2",
"pyjwt>=2.13.0",
"python-multipart>=0.0.27",
Expand Down
2 changes: 1 addition & 1 deletion sdk/js/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@raintree-technology/docpull-sdk",
"version": "6.5.0",
"version": "6.5.1",
"description": "TypeScript SDK for reading docpull context packs and running the docpull CLI",
"license": "MIT",
"type": "module",
Expand Down
4 changes: 2 additions & 2 deletions server.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
"source": "github"
},
"websiteUrl": "https://github.com/raintree-technology/docpull",
"version": "6.5.0",
"version": "6.5.1",
"packages": [
{
"registryType": "pypi",
"identifier": "docpull",
"version": "6.5.0",
"version": "6.5.1",
"transport": {
"type": "stdio"
}
Expand Down
2 changes: 1 addition & 1 deletion src/docpull/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

from .surface import PUBLIC_SDK_EXPORTS

__version__ = "6.5.0"
__version__ = "6.5.1"

_LAZY_EXPORTS: dict[str, tuple[str, str]] = {
**{
Expand Down
10 changes: 10 additions & 0 deletions tests/test_ci_policy.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from pathlib import Path
from unittest import mock

import tomllib
import yaml

from docpull.mcp.sources import default_docs_dir
Expand Down Expand Up @@ -48,6 +49,15 @@ def project_version() -> str:
raise AssertionError("Could not find [project].version in pyproject.toml")


def test_mcp_extra_excludes_incompatible_major_versions() -> None:
project = tomllib.loads((REPO_ROOT / "pyproject.toml").read_text(encoding="utf-8"))["project"]
mcp_requirements = project["optional-dependencies"]["mcp"]
all_requirements = project["optional-dependencies"]["all"]

assert "mcp>=1.28.1,<2" in mcp_requirements
assert "mcp>=1.28.1,<2" in all_requirements


def test_github_actions_are_pinned_to_full_commit_shas() -> None:
offenders: list[str] = []
for path in sorted(WORKFLOW_DIR.glob("*.yml")):
Expand Down
6 changes: 3 additions & 3 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading