- Add `show-arguments` recipe documenting all version update commands - Add `complete-update-interactive` recipe for manual confirmations - Maintain `complete-update` as automatic mode (no prompts) - Update `update-help` to reference new recipes and modes - Document 7-step workflow and step-by-step differences Changes: - complete-update: Automatic mode (recommended for CI/CD) - complete-update-interactive: Interactive mode (with confirmations) - show-arguments: Complete documentation of all commands and modes - Both modes share same 7-step workflow with different behavior in Step 4
7.7 KiB
Nushell 0.108.0 Documentation Summary
This directory contains comprehensive documentation for Nushell 0.108.0 breaking changes, new features, and migration guides.
Files in This Documentation Set
1. NUSHELL_0.108.0_CHANGES.md
Comprehensive markdown documentation covering all changes in Nushell 0.108.0.
Contents:
- Complete breaking changes with migration guides
- All new features and enhancements
- Experimental features (pipefail, enforce-runtime-annotations, reorder-cell-paths)
- Plugin API changes and CustomValue improvements
- Command changes (renamed, removed, added, modified)
- Behavior changes and bug fixes
- Build system changes
- Best practices and recommendations
Use this file for:
- Human-readable reference documentation
- Migration planning
- Understanding impact of changes
- Learning new features
2. nushell_0.108.0_changes.nu
Structured Nushell data file with all changes in programmatic format.
Contents:
- Complete structured record with all version 0.108.0 data
- Helper functions to access specific data:
get-changes- Get complete datasetget-breaking-changes- Get all breaking changesget-high-impact-changes- Filter high impact changes onlyget-new-features- Get new features listget-experimental-features- Get experimental featuresget-plugin-api-changes- Get plugin API changesget-command-changes- Get command changesget-recommendations- Get best practicessearch-changes [keyword]- Search all changes by keywordgenerate-migration-report- Generate formatted migration report
Use this file for:
- Automated analysis of changes
- Programmatic migration tools
- Custom reporting
- Integration with CI/CD pipelines
Example usage:
# Load the module
use nushell_0.108.0_changes.nu *
# Get all breaking changes
get-breaking-changes
# Get only high impact changes
get-high-impact-changes
# Search for specific changes
search-changes "into value"
# Generate migration report
generate-migration-report
# Access specific data
let changes = get-changes
$changes.version
$changes.experimental_features
Quick Reference
Breaking Changes Summary
-
into value→detect type(HIGH IMPACT)- Type detection command renamed
into valuenow converts custom plugin values- Migration: Use
update cells {detect type}for table cells
-
Stream Error Collection (HIGH IMPACT)
- Collecting streams with errors now raises errors
- Migration: Wrap in try-catch blocks
-
format bitsEndian (MEDIUM IMPACT)- New
--endianflag required - Migration: Specify endian explicitly
- New
-
Polars Changes (MEDIUM IMPACT)
polars fetchremovedpolars pivotrequires--stableflag
-
Windows Paths (LOW IMPACT, Windows only)
- UNC paths no longer get trailing backslash
- Device paths now work with open/save/source
-
Network Feature Flag (LOW IMPACT, custom builds only)
- Must use
--features networkfor custom builds
- Must use
-
Power Operator (LOW IMPACT)
- Now right-associative (mathematically correct)
New Features Summary
- MCP Server for AI Agents (Optional, compile with
--features mcp) - Smarter Completions (Inline completion lists)
- Enhanced CustomValue Support (Plugin API improvements)
whichEnhancement (Lists all commands when called without args)- HTTP Metadata (Response data as metadata)
- Date/Time Specifiers (
%Jand%Qfor compact formats) metadata set --merge(Attach arbitrary metadata)each --flatten(Better streaming)
Experimental Features
- pipefail (Opt-in) - Bash-like pipeline error handling
- enforce-runtime-annotations (Opt-in) - Runtime type checking
- reorder-cell-paths (Now opt-out/default) - Performance optimization
Command Changes at a Glance
Renamed:
into value→detect type(type detection)- N/A →
into value(custom value conversion)
Removed:
polars fetch
Added:
detect typeinto value(new purpose)
Modified:
format bits- Added--endianflagpolars pivot- Added--stableflagwhich- Lists all commands without argshttp *- Metadata attachmentformat date/into datetime- New specifiersmetadata set- Added--mergeeach- Added--flattencompact- Improved--emptyopen/save/source- Windows device path support
Migration Priority
Immediate Actions Required (HIGH)
- Replace all
into valuewith appropriate command:- For tables:
update cells {detect type} - For other types:
detect type - For plugin values: Keep as
into value
- For tables:
- Add try-catch around stream collections
- Update
polarscommands if using polars plugin
Should Address (MEDIUM)
- Add
--endianflag toformat bitscalls - Update custom builds to include
--features network - Review chained power operations
- Test on Windows if applicable
Nice to Have (LOW)
- Adopt inline completion syntax
- Use new date/time format specifiers
- Enable experimental features for testing
- Update plugin implementations for CustomValue
Testing Your Migration
# 1. Search your codebase for problematic patterns
use nushell_0.108.0_changes.nu *
# Search for 'into value' usage
rg "into value" . --type nu
# Search for 'polars fetch'
rg "polars fetch" . --type nu
# Search for 'format bits' without endian flag
rg "format bits" . --type nu | where ($it !~ "--endian")
# 2. Run tests with experimental features
nu --experimental-options='pipefail,enforce-runtime-annotations' your_tests.nu
# 3. Generate migration report
generate-migration-report | save migration_report.txt
Best Practices for 0.108.0
- Error Handling: Always use try-catch for stream collection
- Type Safety: Enable
enforce-runtime-annotationsin production - Completions: Use inline syntax for static completions
- Endian: Be explicit with
--endianflag - Testing: Test with experimental features enabled
- Documentation: Document required version and features
- Future-Proofing: Write code compatible with experimental features
Resources
- Official Release Notes: https://www.nushell.sh/blog/2025-10-15-nushell_v0_108_0.html
- GitHub Release: https://github.com/nushell/nushell/releases/tag/0.108.0
- Discord Community: #ai-with-nu (for MCP discussions)
- Issue Tracking:
- Pipefail: #16760
- Reorder Cell Paths: #16766
Contributors
Special thanks to all 24 contributors who made this release possible:
@132ikl, @andoalon, @app/dependabot, @ayax79, @Bahex, @blindFS, @cablehead, @cptpiepmatz, @fdncred, @fixerer, @Jan9103, @maxim-uvarov, @mkatychev, @nome, @sgvictorino, @Sheape, @sholderbach, @simonborje, @Tyarel8, @weirdan, @WindSoilder, @xolra0d, @Xylobyte, @ysthakur
Documentation Maintenance
Created: 2025-10-18 Nushell Version: 0.108.0 Previous Version: 0.107.x Maintained By: Nushell Plugins Repository Team
Quick Start Migration Guide
For most users, these are the critical changes:
-
Find and replace:
# Search for 'into value' rg "into value" . --type nu # Replace based on context: # - Tables: | update cells {detect type} # - Other: | detect type # - Plugins: | into value (no change) -
Add error handling:
# Before: let data = $stream | collect # After: let data = try { $stream | collect } catch { [] } -
Fix polars commands (if using):
# Remove: polars fetch (no replacement) # Update: polars pivot → polars pivot --stable -
Test your code:
nu your_script.nu
That's it! For most users, these four steps will handle the migration to 0.108.0.