Skip to content

Releases: L12-MC/wvm

Version 3.4

21 Jan 08:48

Choose a tag to compare

Fixed windows executable issues

3.3

26 Dec 10:31

Choose a tag to compare

3.3

WVM Version 3.3

Minor Update

  • Fixed new version bug
  • Made windows version not have .exe at the end

3.2

03 Dec 11:59

Choose a tag to compare

3.2

Added static urls

v3.1

02 Dec 20:05

Choose a tag to compare

Fixed Github API

BUGFIX

02 Dec 20:09

Choose a tag to compare

BUGFIX

WVM Version 3.0

30 Nov 09:54

Choose a tag to compare

WVM v3.0 - Major Update: Pre-built Binaries

Breaking Changes from v2.0

Now Downloads Pre-built Executables Instead of Building from Source

Old behavior (v2.0):

  • Cloned Git repositories
  • Built from source using Dart SDK
  • Required build tools and dependencies
  • Slower installation (~2-3 minutes)

New behavior (v3.0):

  • Downloads pre-built executables from GitHub releases
  • No compilation needed
  • Minimal dependencies (just wget/curl)
  • Fast installation (~10-20 seconds)

New Features

1. Pre-built Binary Downloads

  • wslang v1.0.3: From GitHub releases
  • wpm v2.0: From GitHub releases
  • Platform-specific binaries automatically selected

2. Significantly Faster Installation

  • No Git cloning required
  • No compilation time
  • Simple download and install

3. Minimal Dependencies

  • Removed: Git, Dart SDK, build tools
  • Required: Only wget or curl (usually pre-installed)

4. Simpler Codebase

  • Reduced from ~280 lines to ~180 lines
  • Easier to understand and maintain
  • Less error-prone

Version Information

Installed Versions

  • wslang: v1.0.3 (6.9M on Linux)
  • wpm: v2.0 (6.7M on Linux)

Release URLs

Linux/macOS wslang:
https://github.com/L12-MC/wslang/releases/download/v1.0.3/wslang

Linux/macOS wpm:
https://github.com/L12-MC/wpm/releases/download/v2.0/wpm

Windows wslang:
https://github.com/L12-MC/wslang/releases/download/v1.0.3/ws-windows.exe

Windows wpm:
https://github.com/L12-MC/wpm/releases/download/v2.0/wpm.exe

Installation Comparison

v2.0 (Build from Source)

$ time ./wvm.sh
...
Cloning repositories...  # 5-10 seconds
Building wslang...       # 30-60 seconds
Building wpm...          # 30-60 seconds
...
real    2m15s

v3.0 (Pre-built Binaries)

$ time ./wvm.sh
...
Downloading wslang...    # 5 seconds
Downloading wpm...       # 4 seconds
...
real    0m12s

10-12x faster!

Technical Details

Download Detection

Script automatically chooses best available tool:

  1. Linux/macOS: wget (preferred) → curl (fallback)
  2. Windows: curl (preferred) → PowerShell (fallback)

Platform Detection

Linux   → downloads Linux binaries
macOS   → downloads macOS binaries  
Windows → downloads .exe files

Error Handling

  • Continues if one download fails
  • Clear error messages
  • Shows download progress

Migration from v2.0

No changes needed! Simply run the new installer:

# The new installer removes old installation automatically
./wvm.sh

Your PATH configuration will be preserved.

Benefits

For Users

10x faster installation
No build tools needed
More reliable (no compilation failures)
Simpler troubleshooting
Smaller download (no Git history)

For Developers

Easier to maintain
Less code to debug
Clear version control (specific releases)
Predictable behavior

Testing Results

Installation Output (v3.0)

================================
WVM - Wslang and WPM Installer
================================

Installation directory: /home/user/.wvm
Binary directory: /home/user/.wvm/bin
Shell configuration: /home/user/.bashrc

Removing existing installation...
✓ Cleaned up old installation

Setting up directories...
Detected platform: Linux

--- Downloading wslang ---
URL: https://github.com/L12-MC/wslang/releases/download/v1.0.3/wslang
########################################################################## 100.0%
✓ Installed wslang

--- Downloading wpm ---
URL: https://github.com/L12-MC/wpm/releases/download/v2.0/wpm
########################################################################## 100.0%
✓ Installed wpm

Cleaning up temporary files...

✓ /home/user/.wvm/bin is already in PATH

================================
Installation Complete!
================================

Installed to: /home/user/.wvm/bin

Installed programs:
  - wpm (6.4M)
  - wslang (6.6M)

To use the installed programs:
  1. Restart your terminal, or
  2. Run: source /home/user/.bashrc

Usage examples:
  wslang program.ws
  wpm install package

Verification

$ ls -lh ~/.wvm/bin/
-rwxr-xr-x 6.7M wpm
-rwxr-xr-x 6.9M wslang

$ wpm --version
wpm (Well.. Simple Package Manager) v1.1

$ wslang --version
[Well.. Simple interpreter v1.0.3]

Known Issues

  • None currently

Future Enhancements

  • Auto-detect latest release version
  • Add --version flag to installer to select specific versions
  • Add checksum verification for downloads
  • Support for beta/development releases

Version History

  • v3.0 (Current): Pre-built binary downloads, much faster
  • v2.0: Clean installation, latest version fetching
  • v1.0: Initial release with auto-rename and fallback compilation

WVM Version 3.0 BUGFIXES

30 Nov 10:07

Choose a tag to compare

Windows Batch Script Fixes

Issues Found

  1. Duplicate Content: The .bat file had all content duplicated (every line appeared twice)
  2. Admin Check Loop: Script was stuck in admin rights check even when run as admin
  3. Unclear Error Messages: Users didn't know they needed to right-click and "Run as Administrator"
  4. Poor Error Handling: Download failures weren't properly caught

Fixes Applied

1. Recreated Clean File

  • Removed all duplicate content
  • Single, clean version of the script

2. Improved Admin Rights Check

net session >nul 2>&1
if %errorLevel% neq 0 (
    echo Error: This script requires administrator privileges.
    echo Please right-click this file and select "Run as Administrator"
    pause
    exit /b 1
)
  • Clearer error message
  • Explicit instructions on how to run as admin
  • Proper exit

3. Better Download Error Handling

if "!DOWNLOAD_CMD!"=="curl" (
    curl -L --progress-bar -o "%TEMP_DIR%\wslang.exe" "%WSLANG_URL%"
    set "DL_EXIT=!errorLevel!"
) else (
    powershell -Command "..."
    set "DL_EXIT=!errorLevel!"
)

if !DL_EXIT! equ 0 (
    if exist "%TEMP_DIR%\wslang.exe" (
        move /Y "%TEMP_DIR%\wslang.exe" "%BIN_DIR%\wslang.exe" >nul 2>&1
        if exist "%BIN_DIR%\wslang.exe" (
            echo + Installed wslang.exe
        ) else (
            echo X Failed to move wslang.exe to bin directory
        )
    ) else (
        echo X Downloaded file not found
    )
) else (
    echo X Failed to download wslang
)
  • Checks exit code of download command
  • Verifies file exists before moving
  • Verifies file was moved successfully
  • Clear error messages at each step

4. Improved PATH Handling

for /f "tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path 2^>nul') do set "CURRENT_PATH=%%b"

if not defined CURRENT_PATH (
    echo Warning: Could not read current PATH
    set "CURRENT_PATH="
)
  • Handles case where PATH registry key doesn't exist
  • Graceful fallback

5. Better User Feedback

echo ================================
echo Installation Complete!
echo ================================
echo.
echo Installed to: %BIN_DIR%
echo.
echo Installed programs:
set "FOUND_FILES=0"
if exist "%BIN_DIR%\*.exe" (
    for %%f in ("%BIN_DIR%\*.exe") do (
        echo   - %%~nxf
        set "FOUND_FILES=1"
    )
)
if "!FOUND_FILES!"=="0" (
    echo   (none - installation may have failed)
)
  • Lists all installed files
  • Warns if no files were installed

6. Clear Next Steps

echo.
echo IMPORTANT: You need to restart your terminal or computer
echo for the PATH changes to take effect.
  • Explicit reminder to restart terminal
  • Clear usage examples

Testing Checklist

To test on Windows:

  1. Right-click wvm.bat → "Run as Administrator"
  2. Verify admin check doesn't loop
  3. Check downloads complete
  4. Verify files are in C:\Program Files\wvm\bin\
  5. Check PATH was updated
  6. Restart terminal
  7. Test wslang.exe --version
  8. Test wpm.exe --version

File Structure

wvm.bat (195 lines, clean)
├── Admin check with clear instructions
├── Directory setup
├── Platform detection
├── Download tool detection (curl/PowerShell)
├── Download wslang.exe with error handling
├── Download wpm.exe with error handling
├── Cleanup
├── PATH update
└── Summary and instructions

Known Windows-Specific Notes

  1. Must run as Administrator: Required for:

    • Writing to C:\Program Files\
    • Modifying system PATH
  2. Terminal Restart Required: PATH changes only take effect after:

    • Closing and reopening terminal
    • OR restarting computer
  3. Download Tools: Script tries in order:

    • curl (if available)
    • PowerShell (fallback, always available)
  4. File Permissions: Windows executables don't need chmod +x

Comparison with Linux Script

Feature Linux (.sh) Windows (.bat)
Lines of code 173 195
Admin required No Yes
Install location ~/.wvm C:\Program Files\wvm
Download tool wget/curl curl/PowerShell
PATH update User shell config System registry
Executable suffix (none) .exe

Both scripts now work correctly and provide clear feedback!