Release 2026.08.18: keep the docs site out of the sdist

The pre-publish audit caught the source distribution sweeping in the whole
docs-site tree, node_modules included: 7,178 files and 71 MB for a package
whose source is about thirty files. Excluded, which brings it back to 116 KB.

No secrets were exposed (no local .env exists), but this is exactly the case
the unpacked-sdist audit is meant to catch, and PyPI is immutable per version.
This commit is contained in:
Ryan Malloy 2026-08-18 13:22:51 -06:00
parent 3e0ec930ef
commit ca105401c4
4 changed files with 12 additions and 9 deletions

View File

@ -1,6 +1,6 @@
[project]
name = "mcqemu"
version = "2026.08.17"
version = "2026.08.18"
description = "MCP server for managing QEMU virtual machines"
readme = "README.md"
requires-python = ">=3.11"
@ -53,6 +53,10 @@ exclude = [
".env",
".mcp.json",
"tests/",
# The docs site is a whole Astro project with its own node_modules; without
# this the sdist went from ~30 files to 7,178 and from kilobytes to 71 MB.
"docs-site/",
".venv/",
".pytest_cache/",
".ruff_cache/",
"dist/",

View File

@ -1,3 +1,3 @@
"""mcqemu — MCP server for managing QEMU virtual machines."""
__version__ = "2026.08.17"
__version__ = "2026.08.18"

View File

@ -69,9 +69,10 @@ async def test_image_toolchain(dirs, tmp_path):
assert len(chain) == 2, "overlay must report its backing file"
result_data(await client.call_tool("image_resize", {"path": str(base), "size": "128M"}))
assert result_data(await client.call_tool("image_info", {"path": str(base)}))[
"virtual-size"
] == 128 * 1024**2
assert (
result_data(await client.call_tool("image_info", {"path": str(base)}))["virtual-size"]
== 128 * 1024**2
)
converted = result_data(
await client.call_tool(
@ -204,9 +205,7 @@ async def test_sandbox_guest_and_snapshot_journey(dirs):
async with Client(mcp) as client:
sandbox = result_data(
await client.call_tool(
"sandbox_vm", {"base_image": str(BASE_IMAGE), "memory_mb": 2048}
)
await client.call_tool("sandbox_vm", {"base_image": str(BASE_IMAGE), "memory_mb": 2048})
)
assert sandbox["guest_agent"] == "responding", sandbox
assert sandbox["network"] == "outbound blocked"

2
uv.lock generated
View File

@ -681,7 +681,7 @@ wheels = [
[[package]]
name = "mcqemu"
version = "2026.8.17"
version = "2026.8.18"
source = { editable = "." }
dependencies = [
{ name = "fastmcp" },