🔖 Bump version to 4.0.7

- Add automatic update checking feature
- Fix component validation for pipx installations
- Update all version references across 35+ files
This commit is contained in:
NomenAK 2025-08-23 12:52:10 +02:00
parent 291b8a0c2b
commit 45bc5b8a98
27 changed files with 69 additions and 48 deletions

View File

@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [4.0.7] - 2025-01-23
### Added
- Automatic update checking for PyPI and NPM packages
- `--no-update-check` flag to skip update checks
- `--auto-update` flag for automatic updates without prompting
- Environment variable `SUPERCLAUDE_AUTO_UPDATE` support
- Update notifications with colored banners showing available version
- Rate limiting to check updates once per 24 hours
- Smart installation method detection (pip/pipx/npm/yarn)
- Cache files for update check timestamps (~/.claude/.update_check and .npm_update_check)
### Fixed
- Component validation now correctly uses pipx-installed version instead of source code
### Technical
- Added `setup/utils/updater.py` for PyPI update checking logic
- Added `bin/checkUpdate.js` for NPM update checking logic
- Integrated update checks into main entry points (SuperClaude/__main__.py and bin/cli.js)
- Non-blocking update checks with 2-second timeout to avoid delays
### Changed ### Changed
- **BREAKING**: Agent system restructured to 14 specialized agents - **BREAKING**: Agent system restructured to 14 specialized agents
- **BREAKING**: Commands now use `/sc:` namespace to avoid conflicts with user custom commands - **BREAKING**: Commands now use `/sc:` namespace to avoid conflicts with user custom commands

View File

@ -518,7 +518,7 @@ This code of conduct draws inspiration from several established community standa
**Last Updated**: December 2024 (SuperClaude Framework v4.0) **Last Updated**: December 2024 (SuperClaude Framework v4.0)
**Next Review**: June 2025 (Semi-annual review cycle) **Next Review**: June 2025 (Semi-annual review cycle)
**Version**: 4.0.6 (Updated for v4 community structure and governance) **Version**: 4.0.7 (Updated for v4 community structure and governance)
**Review Schedule:** **Review Schedule:**
- **Semi-Annual Reviews**: Policy effectiveness assessment and community feedback integration - **Semi-Annual Reviews**: Policy effectiveness assessment and community feedback integration

View File

@ -27,7 +27,7 @@ SuperClaude Framework transforms Claude Code into a structured development platf
**Good Bug Report Example:** **Good Bug Report Example:**
``` ```
**Environment:** **Environment:**
- SuperClaude: 4.0.6 - SuperClaude: 4.0.7
- OS: Ubuntu 22.04 - OS: Ubuntu 22.04
- Claude Code: 1.5.2 - Claude Code: 1.5.2
- Python: 3.9.7 - Python: 3.9.7

View File

@ -5,7 +5,7 @@
### **Transform Claude Code with 21 Commands, 14 Agents & 6 MCP Servers** ### **Transform Claude Code with 21 Commands, 14 Agents & 6 MCP Servers**
<p align="center"> <p align="center">
<img src="https://img.shields.io/badge/version-4.0.6-blue?style=for-the-badge" alt="Version"> <img src="https://img.shields.io/badge/version-4.0.7-blue?style=for-the-badge" alt="Version">
<img src="https://img.shields.io/badge/Python-3.8+-green?style=for-the-badge" alt="Python"> <img src="https://img.shields.io/badge/Python-3.8+-green?style=for-the-badge" alt="Python">
<img src="https://img.shields.io/badge/Platform-Linux%20|%20macOS%20|%20Windows-orange?style=for-the-badge" alt="Platform"> <img src="https://img.shields.io/badge/Platform-Linux%20|%20macOS%20|%20Windows-orange?style=for-the-badge" alt="Platform">
</p> </p>
@ -266,7 +266,7 @@ SuperClaude install --dry-run
```bash ```bash
# Verify SuperClaude version # Verify SuperClaude version
python3 -m SuperClaude --version python3 -m SuperClaude --version
# Expected: SuperClaude 4.0.6 # Expected: SuperClaude 4.0.7
# List installed components # List installed components
SuperClaude install --list-components SuperClaude install --list-components

View File

@ -6,7 +6,7 @@
<p align="center"> <p align="center">
<img src="https://img.shields.io/badge/Framework-Context_Engineering-purple?style=for-the-badge" alt="Framework"> <img src="https://img.shields.io/badge/Framework-Context_Engineering-purple?style=for-the-badge" alt="Framework">
<img src="https://img.shields.io/badge/Version-4.0.6-blue?style=for-the-badge" alt="Version"> <img src="https://img.shields.io/badge/Version-4.0.7-blue?style=for-the-badge" alt="Version">
<img src="https://img.shields.io/badge/Time_to_Start-5_Minutes-green?style=for-the-badge" alt="Quick Start"> <img src="https://img.shields.io/badge/Time_to_Start-5_Minutes-green?style=for-the-badge" alt="Quick Start">
</p> </p>
@ -486,7 +486,7 @@ Create custom workflows
</p> </p>
<p align="center"> <p align="center">
<sub>SuperClaude v4.0.6 - Context Engineering for Claude Code</sub> <sub>SuperClaude v4.0.7 - Context Engineering for Claude Code</sub>
</p> </p>
</div> </div>

View File

@ -13,7 +13,7 @@ Test: /sc:brainstorm "test" should ask questions
### 2. Installation Verification ### 2. Installation Verification
```bash ```bash
python3 -m SuperClaude --version # Should show 4.0.6 python3 -m SuperClaude --version # Should show 4.0.7
# If not working: # If not working:
# For pipx users # For pipx users
@ -71,7 +71,7 @@ pip3 install SuperClaude
``` ```
## Verification Checklist ## Verification Checklist
- [ ] `python3 -m SuperClaude --version` returns 4.0.6 - [ ] `python3 -m SuperClaude --version` returns 4.0.7
- [ ] `/sc:brainstorm "test"` works in Claude Code - [ ] `/sc:brainstorm "test"` works in Claude Code
- [ ] `SuperClaude install --list-components` shows components - [ ] `SuperClaude install --list-components` shows components

View File

@ -6,7 +6,7 @@ Quick fixes to advanced diagnostics for SuperClaude Framework issues.
**Installation Verification:** **Installation Verification:**
```bash ```bash
python3 -m SuperClaude --version # Should show 4.0.6 python3 -m SuperClaude --version # Should show 4.0.7
SuperClaude install --list-components SuperClaude install --list-components
``` ```
@ -19,7 +19,7 @@ SuperClaude install --list-components
``` ```
**Resolution Checklist:** **Resolution Checklist:**
- [ ] Version commands work and show 4.0.6 - [ ] Version commands work and show 4.0.7
- [ ] `/sc:` commands respond in Claude Code - [ ] `/sc:` commands respond in Claude Code
- [ ] MCP servers listed: `SuperClaude install --list-components | grep mcp` - [ ] MCP servers listed: `SuperClaude install --list-components | grep mcp`

View File

@ -67,7 +67,7 @@ SuperClaude provides behavioral context files that Claude Code reads to adopt sp
```bash ```bash
# Verify SuperClaude is working (primary method) # Verify SuperClaude is working (primary method)
python3 -m SuperClaude --version python3 -m SuperClaude --version
# Example output: SuperClaude 4.0.6 # Example output: SuperClaude 4.0.7
# Claude Code CLI version check # Claude Code CLI version check
claude --version claude --version

View File

@ -5,7 +5,7 @@
### **Transform Claude Code into a Structured Development Platform** ### **Transform Claude Code into a Structured Development Platform**
<p align="center"> <p align="center">
<img src="https://img.shields.io/badge/version-4.0.6-blue?style=for-the-badge" alt="Version"> <img src="https://img.shields.io/badge/version-4.0.7-blue?style=for-the-badge" alt="Version">
<img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge" alt="License"> <img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge" alt="License">
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge" alt="PRs Welcome"> <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge" alt="PRs Welcome">
</p> </p>

View File

@ -723,7 +723,7 @@ For organizations requiring dedicated security support:
**Last Updated**: December 2024 (SuperClaude Framework v4.0) **Last Updated**: December 2024 (SuperClaude Framework v4.0)
**Next Review**: March 2025 (Quarterly review cycle) **Next Review**: March 2025 (Quarterly review cycle)
**Version**: 4.0.6 (Updated for v4 architectural changes) **Version**: 4.0.7 (Updated for v4 architectural changes)
**Review Schedule:** **Review Schedule:**
- **Quarterly Reviews**: Security policy accuracy and completeness assessment - **Quarterly Reviews**: Security policy accuracy and completeness assessment

View File

@ -11,7 +11,7 @@ Usage:
SuperClaude --help SuperClaude --help
""" """
__version__ = "4.0.6" __version__ = "4.0.7"
__author__ = "NomenAK, Mithun Gowda B" __author__ = "NomenAK, Mithun Gowda B"
__email__ = "anton.knoery@gmail.com" __email__ = "anton.knoery@gmail.com"
__license__ = "MIT" __license__ = "MIT"

View File

@ -98,7 +98,7 @@ Examples:
parents=[global_parser] parents=[global_parser]
) )
parser.add_argument("--version", action="version", version="SuperClaude 4.0.6") parser.add_argument("--version", action="version", version="SuperClaude 4.0.7")
subparsers = parser.add_subparsers( subparsers = parser.add_subparsers(
dest="operation", dest="operation",
@ -209,7 +209,7 @@ def main() -> int:
from setup.utils.updater import check_for_updates from setup.utils.updater import check_for_updates
# Check for updates in the background # Check for updates in the background
updated = check_for_updates( updated = check_for_updates(
current_version="4.0.6", current_version="4.0.7",
auto_update=getattr(args, 'auto_update', False) auto_update=getattr(args, 'auto_update', False)
) )
# If updated, suggest restart # If updated, suggest restart
@ -226,7 +226,7 @@ def main() -> int:
# No operation provided? Show help manually unless in quiet mode # No operation provided? Show help manually unless in quiet mode
if not args.operation: if not args.operation:
if not args.quiet: if not args.quiet:
display_header("SuperClaude Framework v4.0.6", "Unified CLI for all operations") display_header("SuperClaude Framework v4.0.7", "Unified CLI for all operations")
print(f"{Colors.CYAN}Available operations:{Colors.RESET}") print(f"{Colors.CYAN}Available operations:{Colors.RESET}")
for op, desc in get_operation_modules().items(): for op, desc in get_operation_modules().items():
print(f" {op:<12} {desc}") print(f" {op:<12} {desc}")

View File

@ -1 +1 @@
4.0.6 4.0.7

View File

@ -1,6 +1,6 @@
{ {
"name": "@bifrost_inc/superclaude", "name": "@bifrost_inc/superclaude",
"version": "4.0.6", "version": "4.0.7",
"description": "SuperClaude Framework NPM wrapper - Official Node.js wrapper for the Python SuperClaude package. Enhances Claude Code with specialized commands and AI development tools.", "description": "SuperClaude Framework NPM wrapper - Official Node.js wrapper for the Python SuperClaude package. Enhances Claude Code with specialized commands and AI development tools.",
"scripts": { "scripts": {
"postinstall": "node ./bin/install.js", "postinstall": "node ./bin/install.js",

View File

@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "SuperClaude" name = "SuperClaude"
version = "4.0.6" version = "4.0.7"
authors = [ authors = [
{name = "NomenAK", email = "anton.knoery@gmail.com"}, {name = "NomenAK", email = "anton.knoery@gmail.com"},
{name = "Mithun Gowda B", email = "mithungowda.b7411@gmail.com"} {name = "Mithun Gowda B", email = "mithungowda.b7411@gmail.com"}

View File

@ -8,7 +8,7 @@ from pathlib import Path
try: try:
__version__ = (Path(__file__).parent.parent / "VERSION").read_text().strip() __version__ = (Path(__file__).parent.parent / "VERSION").read_text().strip()
except Exception: except Exception:
__version__ = "4.0.6" # Fallback __version__ = "4.0.7" # Fallback
__author__ = "NomenAK" __author__ = "NomenAK"

View File

@ -4,7 +4,7 @@ SuperClaude CLI Base Module
Base class for all CLI operations providing common functionality Base class for all CLI operations providing common functionality
""" """
__version__ = "4.0.6" __version__ = "4.0.7"
def get_command_info(): def get_command_info():

View File

@ -234,7 +234,7 @@ def display_backup_list(backups: List[Dict[str, Any]]) -> None:
def create_backup_metadata(install_dir: Path) -> Dict[str, Any]: def create_backup_metadata(install_dir: Path) -> Dict[str, Any]:
"""Create metadata for the backup""" """Create metadata for the backup"""
metadata = { metadata = {
"backup_version": "4.0.6", "backup_version": "4.0.7",
"created": datetime.now().isoformat(), "created": datetime.now().isoformat(),
"install_dir": str(install_dir), "install_dir": str(install_dir),
"components": {}, "components": {},

View File

@ -405,7 +405,7 @@ def run(args: argparse.Namespace) -> int:
# Display header # Display header
if not args.quiet: if not args.quiet:
display_header( display_header(
"SuperClaude Update v4.0.6", "SuperClaude Update v4.0.7",
"Updating SuperClaude framework components" "Updating SuperClaude framework components"
) )

View File

@ -19,7 +19,7 @@ class AgentsComponent(Component):
"""Get component metadata""" """Get component metadata"""
return { return {
"name": "agents", "name": "agents",
"version": "4.0.6", "version": "4.0.7",
"description": "14 specialized AI agents with domain expertise and intelligent routing", "description": "14 specialized AI agents with domain expertise and intelligent routing",
"category": "agents" "category": "agents"
} }
@ -29,7 +29,7 @@ class AgentsComponent(Component):
return { return {
"components": { "components": {
"agents": { "agents": {
"version": "4.0.6", "version": "4.0.7",
"installed": True, "installed": True,
"agents_count": len(self.component_files), "agents_count": len(self.component_files),
"install_directory": str(self.install_component_subdir) "install_directory": str(self.install_component_subdir)
@ -63,7 +63,7 @@ class AgentsComponent(Component):
# Add component registration # Add component registration
self.settings_manager.add_component_registration("agents", { self.settings_manager.add_component_registration("agents", {
"version": "4.0.6", "version": "4.0.7",
"category": "agents", "category": "agents",
"agents_count": len(self.component_files), "agents_count": len(self.component_files),
"agents_list": self.component_files "agents_list": self.component_files

View File

@ -18,7 +18,7 @@ class CommandsComponent(Component):
"""Get component metadata""" """Get component metadata"""
return { return {
"name": "commands", "name": "commands",
"version": "4.0.6", "version": "4.0.7",
"description": "SuperClaude slash command definitions", "description": "SuperClaude slash command definitions",
"category": "commands" "category": "commands"
} }
@ -28,14 +28,14 @@ class CommandsComponent(Component):
return { return {
"components": { "components": {
"commands": { "commands": {
"version": "4.0.6", "version": "4.0.7",
"installed": True, "installed": True,
"files_count": len(self.component_files) "files_count": len(self.component_files)
} }
}, },
"commands": { "commands": {
"enabled": True, "enabled": True,
"version": "4.0.6", "version": "4.0.7",
"auto_update": False "auto_update": False
} }
} }
@ -58,7 +58,7 @@ class CommandsComponent(Component):
# Add component registration to metadata # Add component registration to metadata
self.settings_manager.add_component_registration("commands", { self.settings_manager.add_component_registration("commands", {
"version": "4.0.6", "version": "4.0.7",
"category": "commands", "category": "commands",
"files_count": len(self.component_files) "files_count": len(self.component_files)
}) })

View File

@ -20,7 +20,7 @@ class CoreComponent(Component):
"""Get component metadata""" """Get component metadata"""
return { return {
"name": "core", "name": "core",
"version": "4.0.6", "version": "4.0.7",
"description": "SuperClaude framework documentation and core files", "description": "SuperClaude framework documentation and core files",
"category": "core" "category": "core"
} }
@ -29,7 +29,7 @@ class CoreComponent(Component):
"""Get metadata modifications for SuperClaude""" """Get metadata modifications for SuperClaude"""
return { return {
"framework": { "framework": {
"version": "4.0.6", "version": "4.0.7",
"name": "SuperClaude", "name": "SuperClaude",
"description": "AI-enhanced development framework for Claude Code", "description": "AI-enhanced development framework for Claude Code",
"installation_type": "global", "installation_type": "global",
@ -37,7 +37,7 @@ class CoreComponent(Component):
}, },
"superclaude": { "superclaude": {
"enabled": True, "enabled": True,
"version": "4.0.6", "version": "4.0.7",
"profile": "default", "profile": "default",
"auto_update": False "auto_update": False
} }
@ -58,7 +58,7 @@ class CoreComponent(Component):
# Add component registration to metadata # Add component registration to metadata
self.settings_manager.add_component_registration("core", { self.settings_manager.add_component_registration("core", {
"version": "4.0.6", "version": "4.0.7",
"category": "core", "category": "core",
"files_count": len(self.component_files) "files_count": len(self.component_files)
}) })

View File

@ -102,7 +102,7 @@ class MCPComponent(Component):
"""Get component metadata""" """Get component metadata"""
return { return {
"name": "mcp", "name": "mcp",
"version": "4.0.6", "version": "4.0.7",
"description": "MCP server configuration management via .claude.json", "description": "MCP server configuration management via .claude.json",
"category": "integration" "category": "integration"
} }
@ -348,7 +348,7 @@ class MCPComponent(Component):
metadata_mods = { metadata_mods = {
"components": { "components": {
"mcp": { "mcp": {
"version": "4.0.6", "version": "4.0.7",
"installed": True, "installed": True,
"servers_configured": len(self.selected_servers), "servers_configured": len(self.selected_servers),
"configured_servers": self.selected_servers "configured_servers": self.selected_servers

View File

@ -34,7 +34,7 @@ class MCPDocsComponent(Component):
"""Get component metadata""" """Get component metadata"""
return { return {
"name": "mcp_docs", "name": "mcp_docs",
"version": "4.0.6", "version": "4.0.7",
"description": "MCP server documentation and usage guides", "description": "MCP server documentation and usage guides",
"category": "documentation" "category": "documentation"
} }
@ -135,7 +135,7 @@ class MCPDocsComponent(Component):
metadata_mods = { metadata_mods = {
"components": { "components": {
"mcp_docs": { "mcp_docs": {
"version": "4.0.6", "version": "4.0.7",
"installed": True, "installed": True,
"files_count": len(self.component_files), "files_count": len(self.component_files),
"servers_documented": self.selected_servers "servers_documented": self.selected_servers

View File

@ -20,7 +20,7 @@ class ModesComponent(Component):
"""Get component metadata""" """Get component metadata"""
return { return {
"name": "modes", "name": "modes",
"version": "4.0.6", "version": "4.0.7",
"description": "SuperClaude behavioral modes (Brainstorming, Introspection, Task Management, Token Efficiency)", "description": "SuperClaude behavioral modes (Brainstorming, Introspection, Task Management, Token Efficiency)",
"category": "modes" "category": "modes"
} }
@ -69,7 +69,7 @@ class ModesComponent(Component):
metadata_mods = { metadata_mods = {
"components": { "components": {
"modes": { "modes": {
"version": "4.0.6", "version": "4.0.7",
"installed": True, "installed": True,
"files_count": len(self.component_files) "files_count": len(self.component_files)
} }

View File

@ -2,7 +2,7 @@
"components": { "components": {
"core": { "core": {
"name": "core", "name": "core",
"version": "4.0.6", "version": "4.0.7",
"description": "SuperClaude framework documentation and core files", "description": "SuperClaude framework documentation and core files",
"category": "core", "category": "core",
"dependencies": [], "dependencies": [],
@ -11,7 +11,7 @@
}, },
"commands": { "commands": {
"name": "commands", "name": "commands",
"version": "4.0.6", "version": "4.0.7",
"description": "SuperClaude slash command definitions", "description": "SuperClaude slash command definitions",
"category": "commands", "category": "commands",
"dependencies": ["core"], "dependencies": ["core"],
@ -20,7 +20,7 @@
}, },
"mcp": { "mcp": {
"name": "mcp", "name": "mcp",
"version": "4.0.6", "version": "4.0.7",
"description": "MCP server configuration management via .claude.json", "description": "MCP server configuration management via .claude.json",
"category": "integration", "category": "integration",
"dependencies": ["core"], "dependencies": ["core"],
@ -29,7 +29,7 @@
}, },
"modes": { "modes": {
"name": "modes", "name": "modes",
"version": "4.0.6", "version": "4.0.7",
"description": "SuperClaude behavioral modes (Brainstorming, Introspection, Task Management, Token Efficiency)", "description": "SuperClaude behavioral modes (Brainstorming, Introspection, Task Management, Token Efficiency)",
"category": "modes", "category": "modes",
"dependencies": ["core"], "dependencies": ["core"],
@ -38,7 +38,7 @@
}, },
"mcp_docs": { "mcp_docs": {
"name": "mcp_docs", "name": "mcp_docs",
"version": "4.0.6", "version": "4.0.7",
"description": "MCP server documentation and usage guides", "description": "MCP server documentation and usage guides",
"category": "documentation", "category": "documentation",
"dependencies": ["core"], "dependencies": ["core"],
@ -47,7 +47,7 @@
}, },
"agents": { "agents": {
"name": "agents", "name": "agents",
"version": "4.0.6", "version": "4.0.7",
"description": "14 specialized AI agents with domain expertise and intelligent routing", "description": "14 specialized AI agents with domain expertise and intelligent routing",
"category": "agents", "category": "agents",
"dependencies": ["core"], "dependencies": ["core"],

View File

@ -295,7 +295,7 @@ class UpdateChecker:
return False return False
def check_for_updates(current_version: str = "4.0.6", **kwargs) -> bool: def check_for_updates(current_version: str = "4.0.7", **kwargs) -> bool:
""" """
Convenience function to check for updates Convenience function to check for updates