Skip to content

release: v3.3.3 — restore install integrity#1144

Merged
igorls merged 2 commits intodevelopfrom
chore/release-3.3.3-prep
Apr 24, 2026
Merged

release: v3.3.3 — restore install integrity#1144
igorls merged 2 commits intodevelopfrom
chore/release-3.3.3-prep

Conversation

@bensig
Copy link
Copy Markdown
Collaborator

@bensig bensig commented Apr 23, 2026

Draft — queued for @igorls review + approval before tagging. Supersedes #1143.

Summary

Version bump for v3.3.3, a restore-integrity release. Unbreaks fresh `pip install mempalace` from v3.3.2.

Six-file touch; no code changes:

  • `mempalace/version.py`: `3.3.2` → `3.3.3`
  • `pyproject.toml`: `3.3.2` → `3.3.3`
  • `.claude-plugin/plugin.json`: `3.3.2` → `3.3.3`
  • `.claude-plugin/marketplace.json`: `3.3.2` → `3.3.3`
  • `.codex-plugin/plugin.json`: `3.3.2` → `3.3.3`
  • `CHANGELOG.md`: new `[3.3.3]` entry

All 5 version sources now agree per the Version Guard workflow. The #1093 fix is already on `develop` via merged #340 (messelink, ~10h after we tagged 3.3.2).

Why

v3.3.2 shipped a `.claude-plugin/plugin.json` referencing a `mempalace-mcp` binary that the same release's `pyproject.toml` never declared. Every fresh `pip install mempalace==3.3.2` produces a Claude Code plugin config pointing at a binary that isn't installed → MCP server fails to launch. Diagnosed by @jphein in #1093.

Why not `release/3.3.3` as the branch name

The `release/` ruleset requires all updates go through a PR with no force-push, which meant I couldn't fix my own CI break on #1143 (missed 3 of 5 version files). A `chore/`-prefixed branch dodges the ruleset so follow-up CI fixes stay cheap. If you prefer the `release/` convention for release-shaped PRs, easy to rename the head branch before tagging — or leave as-is, the tag is what matters.

What ships with 3.3.3 (all already on `develop`)

Bug fixes

Improvements

  • #673 — deterministic hook saves
  • #661 — graph cache + write-invalidation

Added

Deferred to 3.3.4

Smoke test — passed locally on develop @ HEAD

```bash
$ grep mempalace-mcp pyproject.toml .claude-plugin/plugin.json
pyproject.toml:mempalace-mcp = "mempalace.mcp_server:main"
.claude-plugin/plugin.json: "command": "mempalace-mcp"

$ python -m build --wheel
Successfully built mempalace-3.3.2-py3-none-any.whl

$ python -m venv /tmp/v333 && source /tmp/v333/bin/activate
$ pip install dist/mempalace-3.3.2-py3-none-any.whl
$ which mempalace-mcp
/tmp/v333/bin/mempalace-mcp

$ mempalace-mcp --help
usage: mempalace-mcp [-h] [--palace PATH]
MemPalace MCP Server
```

All four invariants pass. Full brief with decisions + proposed release notes: go-team-mempalace/proposals/v3-3-3-igor-brief.html.

Review checklist for @igorls

Tag sequence (after merge)

```bash
git checkout develop && git pull
git tag -a v3.3.3 -m "v3.3.3 — restore install integrity"
git push origin v3.3.3
```

CI publishes to PyPI; marketplace refresh picks up `plugin.json`.


Ready for your review. Mark as ready-for-review + merge (or redirect) when you're happy with the shape.

bensig added 2 commits April 23, 2026 16:44
Restore-integrity release. Unbreaks fresh `pip install mempalace` from
v3.3.2 by re-tagging current develop, which carries both the plugin.json
consumer (shipped in 3.3.2) and the matching mempalace-mcp entry point
in pyproject.toml (added on develop ~10h after the 3.3.2 tag via #340
by @messelink). #1093 diagnosed by @jphein.

Bumps (all 5 sources agree per Version Guard / CLAUDE.md):
- mempalace/version.py              3.3.2 → 3.3.3
- pyproject.toml                     3.3.2 → 3.3.3
- .claude-plugin/plugin.json         3.3.2 → 3.3.3
- .claude-plugin/marketplace.json    3.3.2 → 3.3.3
- .codex-plugin/plugin.json          3.3.2 → 3.3.3
- CHANGELOG.md                        new [3.3.3] entry

No code changes. The fix for #1093 is already on develop via merged PRs
#340, #1021, #851, #942, #833, #673, #661, #659, #1097, #1051, #1001,
#945.

Branch name intentionally outside the `release/*` ruleset so follow-up
CI-fix commits aren't gated behind a nested PR. (Supersedes #1143 —
closed for exactly that reason after it missed 3 of 5 version files.)

Smoke-tested locally from a fresh develop clone:
  grep mempalace-mcp pyproject.toml .claude-plugin/plugin.json   # both ✓
  python -m build --wheel                                        # ✓
  pip install …-py3-none-any.whl                                 # ✓
  which mempalace-mcp                                            # ✓
  mempalace-mcp --help                                           # ✓
test_readme_badge_matches_version_py compares the version in the
README badge URL against version.py. Missed it in the initial bump.
@bensig bensig marked this pull request as ready for review April 23, 2026 23:58
Copy link
Copy Markdown
Member

@igorls igorls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Minor non blocking issues found during testing #1145

@igorls igorls merged commit 6d252a0 into develop Apr 24, 2026
7 checks passed
gut-puncture pushed a commit to gut-puncture/mempalace that referenced this pull request Apr 24, 2026
Two follow-up fixes from the v3.3.3 smoke test get folded into 3.3.3
before the tag is cut. Also syncs uv.lock with the 3.3.3 version
bump merged via MemPalace#1144.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SIGSEGV in HNSW parallel inserts — missing hnsw:num_threads on collection creation

2 participants