Files
codebase-memory-mcp/pkg/pypi/pyproject.toml
T
Martin Vogel 5821078ee5 fix(pkg): correct stale packaging versions to v0.10.8 + gate the drift
Seven packaging surfaces declared 0.8.1 while v0.10.8 was the shipped
release — nine releases of drift in metadata published to package
registries, and the third version-metadata drift this month.

pkg/go was not cosmetic: it hardcodes its version into the release URL
it downloads from, so `go install` fetched v0.8.1 binaries.

Chocolatey had to move as a unit. The nuspec is version-only but
chocolateyInstall.ps1 pins the asset sha256, so bumping the nuspec alone
would ship a package declaring 0.10.8 while installing 0.8.1. The new
checksum is the v0.10.8 windows-amd64.zip digest, verified by downloading
the published asset and hashing it, not merely copied from checksums.txt.

The gate (tests/test_version_metadata_contract.sh, scripts/test.sh Step
0x) checks against the newest stable v-prefixed tag, because nothing in
the tree declares the version: CBM_VERSION is injected at build time and
the release is dispatched with a version input. That absence is exactly
why these files drifted. Mutual consistency across the surfaces needs no
git and always runs, so a shallow clone degrades the gate loudly instead
of passing silently.

Homebrew (0.10.3), Scoop and AUR (0.8.1) are left pinned: each embeds
per-release asset checksums, so bumping them is a distribution chore
rather than a metadata edit. They are still gated — internally
consistent, and never naming a release that does not exist — and each
carries a recorded reason for being frozen.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-08-29 11:05:46 +02:00

40 lines
1.5 KiB
TOML

[build-system]
# Pinned: `python -m build` resolves the backend fresh in an isolated env, so an
# unpinned hatchling silently follows upstream. A hatchling release that began
# emitting Metadata-Version 2.5 broke the v0.10.1 PyPI publish with pinned
# twine 6.2.0 rejecting it — the whole toolchain must be pinned, not half of it.
requires = ["hatchling==1.28.0"]
build-backend = "hatchling.build"
[project]
name = "codebase-memory-mcp"
version = "0.10.8"
description = "Fast code intelligence for AI coding agents — installs a verified native runtime set"
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.8"
keywords = ["mcp", "claude", "code-intelligence", "codebase", "memory", "ai", "llm"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python :: 3",
"Topic :: Software Development",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
[project.urls]
Homepage = "https://github.com/DeusData/codebase-memory-mcp"
Repository = "https://github.com/DeusData/codebase-memory-mcp"
Issues = "https://github.com/DeusData/codebase-memory-mcp/issues"
[project.scripts]
codebase-memory-mcp = "codebase_memory_mcp:main"
[tool.hatch.build.targets.wheel]
packages = ["src/codebase_memory_mcp"]