nushell-plugins/updates/109/UPDATE_SUMMARY.md
Jesús Pérez 4b92aa764a
Some checks failed
Build and Test / Validate Setup (push) Has been cancelled
Build and Test / Build (darwin-amd64) (push) Has been cancelled
Build and Test / Build (darwin-arm64) (push) Has been cancelled
Build and Test / Build (linux-amd64) (push) Has been cancelled
Build and Test / Build (windows-amd64) (push) Has been cancelled
Build and Test / Build (linux-arm64) (push) Has been cancelled
Build and Test / Security Audit (push) Has been cancelled
Build and Test / Package Results (push) Has been cancelled
Build and Test / Quality Gate (push) Has been cancelled
implements a production-ready bootstrap installer with comprehensive error handling, version-agnostic archive extraction, and clear user messaging. All improvements follow DRY principles using symlink-based architecture for single-source-of-truth maintenance
2025-12-11 22:04:54 +00:00

5.6 KiB

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

# 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

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