Releases: ShababulAlam/node-version-statusbar
Releases · ShababulAlam/node-version-statusbar
v1.4.1
[1.4.1] - 2025-05-31
Added
- 🔍 Dynamic NVM Path Detection: Automatically locates
nvm.exeusingNVM_HOME,%APPDATA%\nvm, or system PATH for Windows NVM operations. - 📜 Enhanced Error Logging: Added detailed console logs for command execution and verification to aid debugging.
- ⏱️ Extended Terminal Timeouts: Increased timeouts for Windows NVM operations (5s for switching, 10s for installation) to ensure command completion.
Fixed
- 🐛 Persistent Windows NVM Error: Resolved "NVM for Windows should be run from terminal such as CMD or Powershell" by using dynamic path detection and persistent
cmd.exe /Kterminal execution. - 🔧 Terminal Stability: Improved terminal handling with
/Kflag to maintain NVM environment and capture command output. - 🎯 Verification Reliability: Enhanced version switch verification to handle edge cases in Windows NVM output parsing.
Changed
- 🚀 Command Execution Flow: Updated Windows NVM commands to use
callwith verifiednvm.exepath and error code checking. - 💬 User Feedback: Improved error messages to guide users on NVM path issues and manual verification steps.
- 🛠️ Terminal Management: Adjusted terminal cleanup delays to ensure output visibility while preventing clutter.
v1.4.0
[1.4.0] - 2025-05-30
Added
- 🧹 Automatic Terminal Cleanup: Terminals now automatically close after version switching and installation operations
- ⏱️ Smart Cleanup Timing: Different cleanup delays for switching (1s) vs installation (2s) to accommodate varying output volumes
- 📊 Enhanced Progress Tracking: Progress indicators now include cleanup phase for better user awareness
Fixed
- 🖥️ Terminal Clutter: Eliminates accumulation of terminal windows after repeated version operations
- 🔧 Resource Management: Proper terminal disposal prevents memory leaks and improves VS Code performance
- ⚡ User Experience: Cleaner interface with automatic cleanup while preserving command output visibility
Changed
- 🚀 Installation Flow: Installation process now includes automatic progress tracking and terminal cleanup
- 💬 Progress Messages: Updated progress reporting to include "Cleaning up..." step for transparency
- 🛡️ Error Handling: Enhanced error handling ensures terminal cleanup occurs even when operations fail
v1.3.1
[1.3.1] - 2025-05-28
Added
- 🖥️ Enhanced Windows NVM Support: Terminal first approach added
v1.3.0
[1.3.0] - 2025-05-28
Added
- 🔄 Automatic VS Code Reload: VS Code now automatically reloads after successful Node.js version switching
- ✅ Version Switch Verification: Extension now verifies that version switching was successful before proceeding
- 🖥️ Enhanced Windows NVM Support: Multiple execution methods for maximum Windows compatibility
- 📊 Advanced Progress Reporting: Detailed progress messages during version switching operations
- 🛡️ Robust Fallback System: Automatic fallback to alternative execution methods when primary methods fail
- 🔧 Multiple Execution Strategies: 4 different command execution methods for Windows NVM compatibility
Fixed
- 🐛 Windows NVM Terminal Error: Completely resolved "NVM for Windows should be run from terminal" error
- 🔧 Platform-Specific Execution: Enhanced Windows platform detection with proper CMD/PowerShell execution
- 📝 Version Format Handling: Improved version number formatting for all Windows NVM configurations
- ⚡ Shell Context Issues: Automatic shell selection and environment configuration for NVM operations
- 🎯 Command Execution Reliability: Multiple execution methods ensure commands work across different Windows setups
- 🛠️ Environment Variable Handling: Proper PATH and environment variable management for NVM operations
Changed
- 🚀 Version Switching Flow: Enhanced switching process with automatic verification and reload
- 💬 User Feedback System: More informative progress messages and success confirmations
- ⏱️ Execution Strategy: Primary direct execution with intelligent terminal fallback
- 🔄 Reload Behavior: Auto-reload by default with option to skip for user control
- 🖥️ Terminal Integration: Enhanced terminal creation with proper shell configuration for Windows NVM
Technical Improvements
- 🏗️ Multi-Method Execution: 4-tier execution strategy for maximum Windows NVM compatibility
- 🛠️ Enhanced Error Handling: Comprehensive error handling with graceful fallbacks
- 📋 Command Strategy Pattern: Intelligent command execution with method prioritization
- 🔍 Verification System: Post-execution verification to ensure operations completed successfully
- 🎯 Cross-Platform Optimization: Platform-specific optimizations for Windows, macOS, and Linux
- 💡 Smart Terminal Handling: Context-aware terminal creation with proper environment setup
Windows NVM Specific Fixes
- 🔧 Method 1: Direct cmd.exe shell execution with windowsHide option
- 🔧 Method 2: Explicit
cmd /c "command"execution for compatibility - 🔧 Method 3: PowerShell command execution as alternative
- 🔧 Method 4: Environment-specific execution with proper ComSpec configuration
- 🔧 Fallback: Enhanced terminal method with detailed step-by-step feedback
- 🔧 Terminal Enhancement: Persistent cmd.exe terminal with /k flag for NVM operations
User Experience Enhancements
- ✨ Seamless Workflow: Version switching now feels instant and reliable
- 🎯 Clear Feedback: Users always know what's happening during operations
- 🛡️ Maximum Reliability: Multiple fallback methods ensure operations rarely fail
- 💡 Intelligent Automation: Smart defaults with user override options
- 🔄 Consistent Behavior: Reliable operation across all Windows configurations
v1.2.0
[1.2.0] - 2025-05-28
Added
- 🔄 Automatic VS Code Reload: VS Code now automatically reloads after successful Node.js version switching
- ✅ Version Switch Verification: Extension now verifies that version switching was successful before proceeding
- 🖥️ Direct Command Execution: Improved version switching by executing commands directly instead of only using terminals
- 📊 Enhanced Progress Reporting: Detailed progress messages during version switching ("Executing switch command...", "Verifying switch...", "Switch completed!")
- 🛡️ Fallback Terminal Method: If direct execution fails, gracefully falls back to terminal-based switching
Fixed
- 🐛 Windows NVM Compatibility: Fixed "NVM for Windows should be run from terminal such as CMD or Powershell" error
- 🔧 Platform-Specific Command Execution: Added proper Windows platform detection and CMD execution for NVM commands
- 📝 Version Format Handling: Fixed version number formatting for Windows NVM (removes 'v' prefix when needed)
- ⚡ Terminal Shell Selection: Automatically uses
cmd.exefor NVM operations on Windows - 🎯 Version Parsing: Enhanced version line parsing to handle both Windows and Unix NVM output formats
Changed
- 🚀 Improved Version Switching Flow: Version switching now waits for actual completion before showing success messages
- 💬 Better User Feedback: More informative progress messages and error handling during version operations
- ⏱️ Timing Improvements: Better timing coordination between progress dialogs and confirmation prompts
- 🔄 Reload Prompt Logic: Reload prompt only appears after successful version switching verification
Technical Improvements
- 🏗️ Enhanced Error Handling: Comprehensive error handling with graceful fallbacks for different execution methods
- 🛠️ Cross-Platform Compatibility: Improved support for Windows, macOS, and Linux environments
- 📋 Command Execution Strategy: Dual approach with direct execution and terminal fallback for maximum compatibility
- 🔍 Version Detection: More robust current version detection and verification after switching
User Experience
- ✨ Seamless Workflow: Version switching now feels instant with automatic reload
- 🎯 Clear Status Updates: Users always know what's happening during version operations
- 🛡️ Reliable Operation: Reduced failures and improved success rates for version switching
- 💡 Intuitive Feedback: Better visual and textual feedback throughout the switching process
v1.1.0
[1.1.0] - 2025-05-28
Added
- 🚀 Node.js Version Switching: Click status bar to switch between installed Node.js versions
- 🛠️ Multi-Manager Support: Support for nvm, fnm, and volta version managers
- 📦 Install New Versions: Install new Node.js versions directly from VS Code
- 🎯 Smart Version Detection: Automatically detects available version managers and installed versions
- ⚡ Quick Pick Interface: Beautiful version picker with current version highlighting
- 🔧 Integrated Terminal: Uses VS Code terminal for version switching operations
- 📋 Enhanced Commands: New commands for switching and installing versions
Changed
- 🖱️ Status Bar Click Behavior: Now opens version picker instead of copying (copy still available via command)
- 💡 Improved Tooltips: More informative tooltips with switching instructions
- 🎨 Better Error States: Enhanced error handling with actionable suggestions
New Commands
Node Version: Switch Node Version- Interactive version pickerNode Version: Install Node Version- Install new Node.js versions
New Configuration Options
nodeVersion.preferredManager- Choose preferred version manager (auto, nvm, fnm, volta)nodeVersion.showSwitchButton- Enable/disable status bar click to switch
Technical Improvements
- 🏗️ Modular Architecture: Separated version manager logic for better maintainability
- 🔍 Enhanced Detection: Better parsing of version manager outputs
- 🛡️ Robust Error Handling: Comprehensive error handling for all supported managers
- ⚡ Performance Optimized: Cached version manager detection
Compatibility
- ✅ Backward Compatible: All existing functionality preserved
- 🔄 Existing Settings: All v1.0.0 settings continue to work
- 📱 Cross-Platform: Tested on Windows, macOS, and Linux