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
2 changes: 1 addition & 1 deletion .github/scripts/test_public_boundary.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def test_private_search_names_are_rejected_in_public_comments_and_copy(self) ->
boundary.verify_paths_and_source(root)

def test_repository_satisfies_public_boundary(self) -> None:
self.assertEqual(boundary.verify(REPOSITORY_ROOT), "1.0.11")
self.assertEqual(boundary.verify(REPOSITORY_ROOT), "1.0.12")

def test_forbidden_private_source_is_detected(self) -> None:
with tempfile.TemporaryDirectory(prefix="public-boundary-") as temporary:
Expand Down
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# Changelog

## 1.0.12

- Security: rustls 0.23.45 and rustls-webpki 0.103.15 replace 0.23.40 and
0.103.13, which RUSTSEC-2026-0285 flags. rustls accepted TLS 1.3 handshake
messages sent at the wrong encryption level. The advisory is medium severity
(5.3) and does not let a network attacker alter or complete a handshake.
- Hooks: initialization is tracked per host session, so starting or resuming a
second session in the same checkout no longer blocks an initialized session
with "First call required". A successful `init` or `context` result completes
initialization, and the managed post-tool matcher now includes `context` and
`session` (#144).
- An empty project no longer reports `canonical_index_ready`: a reported file
count of 0 now outranks a "ready" label, so agents are not sent to an empty
search (#145).
- Shell code search (`rg`, `grep -r`, `find -name`) in a checkout with no
recorded index gets a non-blocking nudge to run `project(action="index")`, at
most once every 10 minutes per checkout (#145).
- `context()` keeps `instructions`, `matched_skills`, `coordination_inbox`, and
`grounding_hits` under the wire budget, trimming the large duplicate fields
first (#145).
- Global rules are written without a workspace identity, so setup runs in
different directories no longer leave different workspaces in the one global
file (#145).
- `testing/adoption` measures ContextStream search against shell search from
local agent transcripts (#145).
- Dependencies: hyper-util 0.1.21, tiktoken-rs 0.12.1, ignore 0.4.33,
tokio-test 0.4.6, and console 0.16.6 (#139). CI action pins updated (#140).

## 1.0.11

- Optional deep project learning starts off. Interactive setup offers a separate review,
Expand Down
24 changes: 12 additions & 12 deletions Cargo.lock

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

14 changes: 7 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ members = [
]

[workspace.package]
version = "1.0.11"
version = "1.0.12"
edition = "2021"
rust-version = "1.95"
license = "MIT"
Expand Down Expand Up @@ -90,12 +90,12 @@ fs2 = "0.4"
notify = "8"

# Workspace crates
mcp-types = { version = "=1.0.11", path = "crates/mcp-types" }
mcp-client = { version = "=1.0.11", path = "crates/mcp-client" }
mcp-session = { version = "=1.0.11", path = "crates/mcp-session" }
mcp-tools = { version = "=1.0.11", path = "crates/mcp-tools" }
mcp-model-registry = { version = "=1.0.11", path = "crates/mcp-model-registry" }
mcp-acceleration-products = { version = "=1.0.11", path = "crates/mcp-acceleration-products" }
mcp-types = { version = "=1.0.12", path = "crates/mcp-types" }
mcp-client = { version = "=1.0.12", path = "crates/mcp-client" }
mcp-session = { version = "=1.0.12", path = "crates/mcp-session" }
mcp-tools = { version = "=1.0.12", path = "crates/mcp-tools" }
mcp-model-registry = { version = "=1.0.12", path = "crates/mcp-model-registry" }
mcp-acceleration-products = { version = "=1.0.12", path = "crates/mcp-acceleration-products" }

# Testing
mockall = "0.15"
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@contextstream/mcp-server",
"mcpName": "io.github.contextstream/mcp-server",
"version": "1.0.11",
"version": "1.0.12",
"description": "Verified npm launcher for the open-source ContextStream Rust MCP server",
"type": "module",
"license": "MIT",
Expand Down
4 changes: 2 additions & 2 deletions server.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"name": "io.github.contextstream/mcp-server",
"title": "ContextStream MCP Server",
"description": "Project memory, semantic code search, and grounded agent context.",
"version": "1.0.11",
"version": "1.0.12",
"repository": {
"url": "https://github.com/contextstream/mcp-server",
"source": "github"
Expand All @@ -20,7 +20,7 @@
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "@contextstream/mcp-server",
"version": "1.0.11",
"version": "1.0.12",
"transport": {
"type": "stdio"
},
Expand Down
Loading