# Nushell 0.109.0 Update Summary **Updated**: 2025-11-30 **From**: 0.108.0 **To**: 0.109.0 ## Update Status: ✅ COMPLETE All 13 plugins have been successfully updated to Nushell 0.109.0. ## What Changed ### Nushell Core Upgrade - **Nushell Version**: 0.108.0 → 0.109.0 - **Build Date**: 2025-11-30 - **All Plugins**: Updated `nu-plugin` dependency to 0.109.0 ### Automatic Updates (Smart Version Management) The update process now intelligently handles plugin versioning: #### Dependencies Updated (All Plugins) All 13 plugins have their `nu-plugin` dependency updated to 0.109.0: - nu_plugin_auth - nu_plugin_clipboard - nu_plugin_desktop_notifications - nu_plugin_fluent - nu_plugin_hashes - nu_plugin_highlight - nu_plugin_image - nu_plugin_kcl - nu_plugin_kms - nu_plugin_orchestrator - nu_plugin_port_extension - nu_plugin_qr_maker - nu_plugin_tera #### Package Versions (Selective Update) **Updated** (had 0.108.0 package version): - `nu_plugin_clipboard`: 0.108.0 → 0.109.0 **Preserved** (have independent versions): - `nu_plugin_auth`: 0.1.0 (unchanged) - `nu_plugin_desktop_notifications`: 1.2.12 (unchanged) - `nu_plugin_fluent`: 0.1.0 (unchanged) - `nu_plugin_hashes`: 0.1.8 (unchanged) - `nu_plugin_highlight`: 1.4.7+0.105.2 (unchanged) - `nu_plugin_image`: 0.105.1 (unchanged) - `nu_plugin_kcl`: 0.1.0 (unchanged) - `nu_plugin_kms`: 0.1.0 (unchanged) - `nu_plugin_orchestrator`: 0.1.0 (unchanged) - `nu_plugin_port_extension`: 0.109.0 (unchanged) - `nu_plugin_qr_maker`: 1.1.0 (unchanged) - `nu_plugin_tera`: 0.1.0 (unchanged) ## Key Features of This Update ### 1. Smart Version Detection The `update_all_plugins.nu` script now intelligently: - **Always updates** the `nu-plugin` dependency for all plugins (0.108.0 → 0.109.0) - **Selectively updates** package versions only if they match the previous Nushell version (0.108.0) - **Preserves** plugin-specific versioning schemes (e.g., 0.1.0, 1.1.0, 1.2.12) ### 2. Correct String Interpolation - Fixed Nushell string interpolation per Rule 18 guidelines - Properly escaped literal parentheses in `$"..."` strings: `\(DRY RUN\)` ### 3. Template Generation Fix - Scripts now correctly generate `register-plugins.nu` instead of `install.nu` - Updated all template generation scripts: - `scripts/collect_full_binaries.nu` - `scripts/complete_update.nu` - `scripts/create_full_distribution.nu` ### 4. Bootstrap Installer Enhancement - `install.sh` now auto-detects local binaries in distribution packages - Supports both `./bin/nu` and `./nu` paths - Automatically uses local binaries when available ## Automation Scripts Modified ### scripts/update_all_plugins.nu - **Lines 72**: Fixed string interpolation `\(DRY RUN\)` - **Lines 187-215**: Added smart version detection logic - Calculates previous version (0.108.0 from 0.109.0) - Only updates package version if current version matches previous version - Preserves independent plugin versions ### scripts/collect_full_binaries.nu - **Line 722-724**: Changed template generation to use `register-plugins.nu` instead of `install.nu` ### scripts/complete_update.nu - **Line 414**: Updated documentation reference to `register-plugins.nu` ### scripts/create_full_distribution.nu - **Line 461**: Updated next steps documentation to `register-plugins.nu` ### installers/bootstrap/install.sh - **Lines 1059-1069**: Added auto-detection of local binaries - Checks for `./bin/nu` and `./nu` paths - Automatically uses local installation when found ## Distribution Changes All distribution packages now include: - ✅ Nushell 0.109.0 binary - ✅ All 13 plugins compiled with 0.109.0 - ✅ `register-plugins.nu` script (not `install.nu`) - ✅ `install.sh` with local binary auto-detection - ✅ Proper plugin registration without installation of binaries ## Files Modified ### Core Documentation - `CLAUDE.md`: Updated version to 0.109.0 ### Automation Scripts - `scripts/update_all_plugins.nu` - Smart version management - `scripts/collect_full_binaries.nu` - Template generation fix - `scripts/complete_update.nu` - Documentation update - `scripts/create_full_distribution.nu` - Documentation update ### Plugin Cargo.toml Files - `nu_plugin_clipboard/Cargo.toml` - Package version 0.108.0 → 0.109.0 ### Bootstrap Installer - `installers/bootstrap/install.sh` - Local binary auto-detection ## How to Use the Updated System ### Update to Next Version ```bash # Complete update to new version ./scripts/complete_update.nu 0.110.0 # Or step by step ./scripts/update_nushell_version.nu 0.110.0 ./scripts/update_all_plugins.nu 0.110.0 ./scripts/create_full_distribution.nu ``` ### Just Recipes ```bash # Quick validation just validate-nushell # Full development workflow just dev-flow # Release workflow just release-flow ``` ## Verification All 13 plugins successfully: - ✅ Compile with Nushell 0.109.0 - ✅ Have correct `nu-plugin` dependency version - ✅ Have correct `nu-protocol` dependency version - ✅ Register properly with Nushell - ✅ Can be listed with `nu -c 'plugin list'` ## Next Steps For the next version update (0.110.0): 1. Run `just validate-nushell` to ensure version consistency 2. Execute `./scripts/complete_update.nu 0.110.0` for full automation 3. Run `just build-full` to compile everything 4. Run `just test` to validate all plugins 5. Create distribution with `just pack-full` ## Notes - Plugin versions are now independently managed while maintaining dependency synchronization - The smart version detection prevents version confusion between plugin versions and Nushell versions - Auto-detection of local binaries makes distribution packages more portable - `register-plugins.nu` correctly registers plugins without installing binaries (distinction from `install.sh`)