Skip to content

v0.5.0 — PyPI catch-up: 3 new skills + execute_sql transparency + 3.3x perf

Choose a tag to compare

@kouko kouko released this 28 May 05:14
7d37358

⚠️ Never reached PyPI — use v0.6.0 instead

This tag exists in git history and on GitHub Releases, but was never
published to PyPI
. A publish.yml workflow trigger bug (gh release edit --prerelease=false fires the released event, not published)
caused the Pre-release → Release promotion to silently miss the publish
job. PyPI users went straight from v0.3.0 to v0.6.0.

Migration: install v0.6.0
or later. v0.6.0 is a strict superset of v0.5.0 and ships the trigger
fix forward so this can't recur.

pip install --upgrade redshift-comment-mcp     # → 0.6.0+
# or
uvx redshift-comment-mcp                       # → 0.6.0+

The original v0.5.0 release notes are below for historical reference.


🎯 PyPI back in sync with the plugin path

This is the first PyPI release since v0.3.0. The Claude Code plugin path
(claude plugin install, runs from cloned-repo source) shipped v0.4.0 +
v0.5.0 internally, but neither was tagged or released — so PyPI /
uvx redshift-comment-mcp users were stuck on v0.3.0 with no visible
signal. v0.5.0 rolls up both releases' worth of work plus a critical
post-release patch.

Per the new Release publishing (MUST) discipline (#31), this won't
happen again.

✨ New skills

Skill One-liner PR
/redshift-grep-columns Cross-table column keyword search across one or all schemas #24
/redshift-grep-tables Cross-schema table keyword search across the entire cluster #24
/redshift-switch-profile Switch the active connection profile without re-entering host/user/password #21

🆕 New features

  • execute_sql transparency — response now includes _executed_sql
    (the actual rewritten SQL the server ran) and _user_facing_message
    (a shaped string the agent can show users), so the user always knows
    exactly what query hit Redshift (#28)
  • Zero-config plugin installclaude plugin install no longer asks
    for a profile name. The MCP server reads an active-profile pointer file
    written by /redshift-setup. One-time /redshift-setup → done
    (#21, breaking, see migration below)

⚡ Performance

  • Column metadata SQL: ~3.3x at 12K columns. Rewrote the correlated-
    subquery pattern to a direct LEFT JOIN. Speedup persists at small N (#22)
  • Long-comment safety in multi-item responses. MAX_COMMENT_LEN=1000
    caps each comment with a comment_truncated_count marker; single-item
    getters never truncate. Prevents Claude Code's silent ~25K token cap
    from clipping dbt-rich schemas (#23)

🐛 Bug fixes

  • Single-profile upgrade rescue. PR #22 introduced the active-profile
    pointer file with the contract "absent ↔ use default". Pre-PR-22
    installs whose lone profile was not named default (e.g.
    ichef-prod) got hard-broken by the upgrade. resolve_active_profile
    now falls back to the lone profile when exactly one exists; explicit
    --profile / env var / pointer file inputs still resolve verbatim so
    typos surface as typos (#29)
  • Various skill bug fixes from functional-test pass (#19)

🏠 Housekeeping

  • Removed /redshift-cache-schema — cache layer retired in favor of
    always-fresh catalog SQL + the new performance work above (#26)
  • Live-cluster smoke gate. REDSHIFT_INTEGRATION=1 pytest tests/integration/
    exercises every MCP tool against a real Redshift cluster (#25)
  • New tests/e2e/ tier — MCP wire-protocol tests via stdio subprocess (#28)
  • README install-link fix (#27)

⚠️ Breaking — Profile system contract (#21)

If you installed v0.3.0 directly via pip install redshift-comment-mcp:

  • Profile pointer file is new. ~/.config/redshift-comment-mcp/active-profile
    is now the source of truth for the active profile. Absence is no longer
    an error — single-profile users get an implicit fallback (after #29).
  • Plugin manifest no longer asks for profile name. Anyone who manually
    set a profile name via client config should switch to --profile <name>
    to override the pointer file, or rely on /redshift-setup + /redshift-switch-profile.

If your existing single profile is named anything other than default,
upgrading straight to 0.5.0 (not stopping at any 0.4.x point) is the
safe path — the single-profile fallback rescue (#29) is included.

📥 Install

# PyPI / generic MCP client
pip install --upgrade redshift-comment-mcp
# or
uvx redshift-comment-mcp

# Claude Code plugin
claude plugin install redshift-comment-mcp

📊 Full changelog

PRs in this release (v0.3.0…v0.5.0): #19 · #20 · #21 · #22 · #23 · #24 ·
#25 · #26 · #27 · #28 · #29 · #30