nushell-plugins/updates/109/UPDATE_SUMMARY.md

179 lines
5.6 KiB
Markdown
Raw Normal View History

# 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`)