Skip to content

Releases: ShababulAlam/node-version-statusbar

v1.4.1

31 May 17:49

Choose a tag to compare

[1.4.1] - 2025-05-31

Added

  • 🔍 Dynamic NVM Path Detection: Automatically locates nvm.exe using NVM_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 /K terminal execution.
  • 🔧 Terminal Stability: Improved terminal handling with /K flag 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 call with verified nvm.exe path 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

31 May 17:13

Choose a tag to compare

[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

31 May 17:12

Choose a tag to compare

[1.3.1] - 2025-05-28

Added

  • 🖥️ Enhanced Windows NVM Support: Terminal first approach added

v1.3.0

31 May 17:11

Choose a tag to compare

[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

31 May 17:11

Choose a tag to compare

[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.exe for 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

31 May 17:10

Choose a tag to compare

[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 picker
  • Node 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

v1.0.0

27 May 19:19

Choose a tag to compare