Skip to content

v1.10.0: Recursive runs grow up, install gets a diagnostics microscope

Choose a tag to compare

@mise-en-dev mise-en-dev released this 10 May 17:27
· 287 commits to main since this release
Immutable release. Only release title and notes can be modified.
9493033

Added

  • (cli) Wire the recursive-run flags (--sort/--no-sort, --reverse, --resume-from, --workspace-concurrency, --reporter-hide-prefix) and add a per-package output multiplexer for parallel runs (#545)
  • (diag) End-to-end install instrumentation and the aube diag analyze / aube diag compare subcommands behind a new --diag <summary|trace|live|full> flag (#547)
  • (install) Post-install dependency summary grouped by dependency type (#559)
  • (update) --lockfile-only flag to refresh aube-lock.yaml without touching node_modules (#560)
  • (add) linkWorkspacePackages and saveWorkspaceProtocol settings plus --save-workspace-protocol / --no-save-workspace-protocol flags (#539)

Fixed

  • (workspace) Linker no longer substitutes a workspace sibling for a registry-pinned dep, lockfile drift flags orphan importers, recursive remove skips projects that don't declare the dep, and parent-relative ../** globs in pnpm-workspace.yaml are honored (#564)
  • (workspace) Filtered runs respect --workspace-root and includeWorkspaceRoot: true (#556)
  • (update) Filtered workspace updates merge back into the shared root lockfile under sharedWorkspaceLockfile=true instead of leaving per-package aube-lock.yaml files behind (#558)
  • (update) --interactive renders a multiselect picker, fails fast on non-TTY, and --latest preserves catalog: / catalog:<name> specifiers (#552)
  • (pnpmfile) Hard-fail the install when a defined readPackage hook returns a non-object (#562)
  • (deploy) Keep filtered workspace packages in the index when package.json has no version (#549)
  • (install) Inherit top-level pnpm.allowBuilds approvals into the nested install used for git-dep prepare (#546)
  • (cli) Skip verifyDepsBeforeRun checks when npm_lifecycle_event is set, fixing both the error-mode hard-fail and the install-mode lock deadlock from nested aube run inside lifecycle scripts (#538)
  • (install) Interactive aube approve-builds requires at least one selection and the TTY guard checks both stdin and stderr (#537)

Changed

  • (install) New aube_util::adaptive limiter (slow-start, AIMD, CUSUM-gated shrink) wired at every previously magic-numbered concurrency site, with a separate http1-only reqwest client for tarball downloads (#548)

💚 Sponsor aube

aube is part of en.dev — an independent developer-tooling studio run by @jdx, also behind mise. Work on aube is funded entirely by sponsors.

If aube is saving your team install time or CI minutes, please consider sponsoring at en.dev. Individual and company sponsorships are what keep the project fast, free, and independent.