Skip to content

release: v0.4.0 (retry)#16

Merged
joy-software merged 7 commits into
mainfrom
release/0.4.0
May 31, 2026
Merged

release: v0.4.0 (retry)#16
joy-software merged 7 commits into
mainfrom
release/0.4.0

Conversation

@joy-software
Copy link
Copy Markdown
Contributor

Retry of the 0.4.0 release

Previous v0.4.0 was deleted from PyPI. Per PyPI rules, re-uploading the same version normally fails — but per the user's instruction, we're retrying anyway. If the publish step rejects with `400 File already exists`, we'll bump to 0.4.1.

Content vs the deleted 0.4.0

Develop is 4 PRs ahead of the original 0.4.0:

This is a stronger 0.4.0 than the deleted one, so even if PyPI accepts it, the content shipped will be the develop tip.

Post-merge

```bash
git checkout main && git pull
git tag v0.4.0 && git push --tags

release.yml runs; either publishes or rejects

git checkout develop && git merge --no-ff main && git push
```

joy-software and others added 7 commits May 31, 2026 17:17
…ackages

codegraph/ used to have 28 top-level .py files. They're now grouped
into 9 subpackages so the top level is just __init__.py, __main__.py,
and indexer.py.

New layout:

  codegraph/
    __init__.py, __main__.py, indexer.py    (3 top-level files)
    core/         db, schema, utils + config + fts
    parsers/      (existing)
    cli/          (existing)
    server/       (existing)
    integrations/ (existing) + skill_installer + post_commit
    skills/       (existing)
    state/        auth, activity, call_log, scan_meta, watcher, ipc, pidfile
    imports/      resolver (was import_resolver), tsconfig, workspaces
    analysis/     context_builder, dead_code, federation, endpoints,
                  module_doc, roles, pattern
    claude_state/ memory (was memory_index), plans (was plan_index)

Used git mv so file history follows. Two backward-compat shims
(codegraph/db.py, codegraph/schema.py) were already redirects into
core/ — deleted.

~183 imports across the repo updated by a one-shot rewriter. Four
relative imports inside moved files needed manual cleanup (the
rewriter only handled paths it knew about, not relative paths to
non-renamed sibling packages).

Verified:
- uvx ruff check . clean
- 235 / 235 tests pass
- cgh init + cgh stats end-to-end works on a scratch repo
- _hook_precheck_grep still works from the installed binary
chore(structure): collapse top-level to 3 files, group rest into subpackages
Three doc updates from the post-restructure / new-features audit:

README.md
- "Architecture (v0.3)" diagram replaced with the v0.4 layout: the
  3 top-level files plus all 9 subpackages (core, parsers, imports,
  state, analysis, claude_state, server, cli, integrations, viz,
  skills). Each entry annotated with what's inside.
- "codegraph exposes 23 tools" -> 39 tools (the actual @mcp.tool
  count across server/tools_*.py).

docs/PARSERS.md
- Existing Parsers table now lists Go (golang.py), Rust (rust.py),
  Java (java.py), and plaintext.py.
- Optional Dependencies section rewritten as "Dependencies" — every
  supported tree-sitter grammar is now a core dep in pyproject.toml
  (was the case before this audit, just hadn't been documented).

Not touched
- CLAUDE.md was edited locally for the same shape but it's in
  .git/info/exclude on this checkout, so it stays out of the PR.
- docs/CLI_REFERENCE.md and docs/CONFIGURATION.md — audit found
  them generic enough to survive the restructure unchanged.
docs: refresh README architecture + PARSERS table after v0.4 changes
Adds a Version row at the top of the cgh status table and a
top-level version field in the --json payload. Useful for sanity-
checking that the cgh binary on a teammate's machine matches what
we expect, and to support "is the installed cgh in sync with
develop" debugging without a second --version call.
feat(status): show cgh version in cgh status
@joy-software joy-software merged commit d9961de into main May 31, 2026
2 checks passed
@joy-software joy-software deleted the release/0.4.0 branch May 31, 2026 16:32
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.

1 participant