[0.2.2] - 2026-08-16
Added
- Release assets for
aarch64-unknown-linux-gnuandaarch64-pc-windows-msvc(native ARM runners);numan update --selfmaps those triples - Homebrew Linux ARM archive support; winget verifies and submits both Windows x64 and ARM64 zips
numan useactivation profiles: cross-minor switches auto-deactivate Numan-active plugins/modules (leave profile is a never-shrinking union per Nu minor instate/activation-profile.json, captured by snapshots and restored on rollback) and restore the target minor's desired set after the marker write. Same-targetuseis restore-only reconcile. Useractivate/deactivatekeep the current minor's desired set in sync (idempotent even when already active/inactive);removeclears the package id from every minor.- Intake provenance and evidence tiers:
- Display commit-snapshot provenance (
commithash andcaptureddate) innuman infoand package listings (P1). - Gate and display provisional evidence tier markers (P6).
- Display fork identity and origin metadata for stewardship forks (P4).
- Display commit-snapshot provenance (
- PATH Nu version mismatch warning: detect and warn when the Nu binary on
$PATHdiffers in version or location from the managed active Nu installation. - Unit test & coverage suites: comprehensive unit test coverage for
cmd::modules and dedicated CI coverage reporting job.
Changed
numan try: now takes a required<owner/name[@version]>argument and is compatibility-first. It attempts to install and activate the specified package for the current Nu; if incompatible, it explains which managed Nu versions the package supports and recommends the nearest one, without silently switching Nu or installing an alternative package.numan completions <shell>installs by default (creates the target directory if needed). Use--printto emit the script on stdout for piping or custom redirects.numan registry packages: clearer listing (blank line between entries, styled id/version/type, soft-wrapped dim descriptions).numan install: suggests--allflag when a package is incompatible with the current Nu version.numan init: added tab-completion configuration hint to first-run output.- ADR 0001: Accepted Architecture Decision Record for Ecosystem Trust, Upstream Contribution, and Fork Stewardship.
Fixed
-
Cached artifact verification: enforce SHA-256 integrity checks on cached archive payloads before extraction.
-
Windows User PATH pollution from acceptance tests:
PathRestoreGuardsets
a test-only flag that makespersist_path_dir/ Unixpersist_user_path
skip durable User PATH,~/.local/bin/nu, and shell-profile writes while the
guard is held (it does not rewrite the Windows User PATH registry on drop, so
concurrent external PATH edits are preserved).numan setup nu/usealso
refuse to persist paths under the system temp folder (fail closed if the temp
root cannot be canonicalized), so tempfile fixtures likeTemp\.tmp*\off
cannot land on PATH again. If you already have those leftovers, clean User
PATH (PowerShell):$userPath = [Environment]::GetEnvironmentVariable('Path', 'User') $cleaned = ($userPath -split ';' | Where-Object { $_ -and ($_ -notmatch '(?i)\\Temp\\.tmp.*\\(off|existing-nu)$') }) -join ';' [Environment]::SetEnvironmentVariable('Path', $cleaned, 'User')
Then open a new terminal and confirm with
$env:Path -split ';'. -
numan doctor: report versioned managed Nu installs (tools/nushell/<version>/nu) instead of only the legacytools/nushell/nupath -
numan setup nu: official Nushell 0.114.x release archives exceed the old
256 MiB extract cap (~279 MiB uncompressed on linux-gnu). Bootstrap now
extracts only thenubinary (skipping bundled plugins) and raises the
uncompressed-size limit to 512 MiB so managed installs succeed again.
Archive-bombfile_count/total_bytesaccounting still charges every
regular-file entry scanned, including those skipped by the include filter. -
Homebrew formula install: fix formula installation handling for staged archives.