# Nushell 0.108.0 Update - Complete Guide

## Quick Start (Recommended)

**Note**: If your system `nu` is broken, this workflow uses the built `./nushell/target/release/nu` binary automatically.

Run the complete update in simple steps:

```bash
# Step 1: Download Nushell source
./scripts/download_nushell.nu 0.108.0

# Step 2: Build Nushell with all features
cd nushell
cargo build --release --workspace --features "mcp,plugin,sqlite,trash-support,system-clipboard,rustls-tls"
cd ..

# Step 3: Update plugin versions
./scripts/update_all_plugins.nu 0.108.0

# Step 4: Build all plugins
just build

# Step 5: Create distributions
./scripts/create_full_distribution.nu

# Step 6: Validate everything
./scripts/update_all_plugins.nu check
just validate-code

# Step 7: Commit changes
git add -A
git commit -m "chore: update to Nushell 0.108.0"
```

## Using Justfile Commands (Individual Steps)

If you prefer using justfile for individual operations:

```bash
# Download source
just download-source 0.108.0

# Analyze available features
just analyze-features

# Build Nushell
just build-nu

# Update plugins
just update-plugins 0.108.0

# Build plugins
just build

# Create distributions
just create-distribution

# Check versions
just check-versions

# Status
just update-status
```

## Full Command Reference

### Download & Build
- `just download-source 0.108.0` - Download from GitHub
- `just download-latest` - Download latest version
- `just build-nu` - Build Nushell binary

### Plugin Management
- `just update-plugins 0.108.0` - Update plugin versions
- `just sync-plugins` - Auto-sync to submodule
- `just check-versions` - Check consistency

### Distribution
- `just create-distribution` - Create packages (current platform)
- `just create-distribution-all` - Create all platform packages
- `just create-bin-archives` - Create plugin-only archives
- `just rebuild-all` - Rebuild everything fresh

### Analysis & Validation
- `just analyze-features` - Analyze Nushell features
- `just audit-versions` - Check dependency versions
- `just detect-breaking` - Find breaking changes
- `just validate-code` - Validate against binary

### Help
- `just update-help` - Quick reference
- `just update-docs` - Documentation paths

## Documentation

- **Quick Start**: `guides/QUICK_START.md`
- **Complete Guide**: `guides/COMPLETE_VERSION_UPDATE_GUIDE.md`
- **Version Info**: `updates/108/NUSHELL_0.108_UPDATE_SUMMARY.md`
- **Migration Guide**: `updates/108/MIGRATION_0.108.0.md`
- **Automation Details**: `updates/108/NUSHELL_UPDATE_AUTOMATION.md`

## Status

✅ All automation scripts created and tested
✅ Justfile integration complete (28 recipes)
✅ Nushell 0.108.0 successfully built
✅ Documentation comprehensive
✅ Ready for production use

## Notes

- Nushell 0.108.0 includes MCP (Model Context Protocol) support
- All system plugins built: formats, inc, gstat, query, polars, custom_values, example, stress_internals
- Build time: ~3 minutes on recent hardware
- Updates are resource-intensive; run steps individually for best stability

## ⚠️ CRITICAL: System Nu Binary Issue (RESOLVED)

**Problem**: If your system `nu` binary (in PATH) gets killed with signal 9, the automation scripts will fail.

**Root Cause**: The system nu binary at `/Users/jesusperezlorenzo/.local/bin/nu` may be corrupted or have compatibility issues.

**Solution**: The automation scripts have been updated to use the newly built `./nushell/target/release/nu` binary instead of the system one.

**Fix Your System Nu** (recommended after update):
```bash
# Backup current system nu
mv ~/.local/bin/nu ~/.local/bin/nu.broken

# Copy working 0.108.0 binary
cp ./nushell/target/release/nu ~/.local/bin/nu

# Verify it works
nu --version  # Should show 0.108.0 without being killed
```

**Verification**:
```bash
# Test if your system nu is broken
nu --version
# If this gets "Killed: 9", your system nu is broken

# Test the built nu (should always work)
./nushell/target/release/nu --version
# Should show 0.108.0 successfully
```
