Skip to content

bootstrap v2026.09.17-3

Choose a tag to compare

@github-actions github-actions released this 17 Sep 17:19
· 19 commits to main since this release

Windows 1.41.1

Fixed

  • -Doctor stopped at its first check. ok and broken, the two
    verdicts the doctor exists to give, were never added to the ValidateSet
    on Add-Result, so the probe shell's own ok threw before a single tool
    was looked at. Both are in the set now, green and red.

  • starship prompt reported "no prompt function" with the profile
    loaded.
    A function's Definition starts with a newline, and the probe
    answers one key=value per line - so fn:prompt= always arrived empty.
    The definition is flattened onto one line before it is sent.

  • The mise checks looked in the Linux data directory. Windows mise keeps
    its shims under %LOCALAPPDATA%\mise\shims, which is what the mise phase
    puts on the user PATH; the doctor looked in ~\.local\share\mise\shims
    and reported it missing on every machine. And node, go and java
    resolving to mise\installs\... is mise activate working as intended -
    it puts those ahead of the shims - so that is ok now, not a note. Only a
    runtime from outside mise is flagged.

  • Housekeeping threw on an empty download cache. On PowerShell 7,
    Measure-Object emits nothing at all for empty input, so
    (... | Measure-Object -Sum).Sum is $null.Sum, which strict mode rejects.
    That ran before the "nothing to prune" check, so a clean cache - the usual
    case - was enough. Sizes are summed by Format-Size instead, which is
    0.0 MB for no files.

Linux 1.34.2

Fixed

  • Housekeeping still stopped mid-phase, past the journal fix in 1.34.1.
    The actual point of failure was the very next line: flatpak uninstall --unused --dry-run. uninstall has never had a --dry-run - that flag
    exists only on flatpak prune, for an unrelated purpose (pruning the
    OSTree object store, not listing installed-but-unused runtime refs) - so
    the command errored with Unknown option --dry-run every time, and the
    same pipefail/set -e/2>/dev/null combination silenced it. There is
    no safe read-only substitute: --noninteractive implies --assumeyes on
    --unused, so scripting around the missing flag risked doing the removal
    this phase promises never to do. The check is gone; flatpak uninstall --unused by hand is still there to run and review before answering yes.

  • --doctor misjudged three things that were actually fine. 7zip's
    expected command was hardcoded to 7zz - that name is macOS's; apt's own
    7zip package puts 7z on PATH here. ~/.dotnet/tools was checked
    against PATH unconditionally, when the shell fragment itself only adds it
    once dotnet tool install -g has created the directory - its absence is
    the fragment working as intended, not broken. And carapace's completer
    was checked for a function named _carapace; carapace 1.7 defines
    _carapace_completer instead, so a working completer was reported as
    never initialised.

  • @releases tools disappeared under WSL and other NAT'd or shared
    addresses.
    Each one calls GitHub's API once, unauthenticated, to read
    its latest tag - 60 requests/hour per source IP, easy to spend across the
    20-plus tools this platform installs that way, and every one queued
    behind the first failure came back failed and was never installed, not
    just delayed. GITHUB_TOKEN/GH_TOKEN (read the same as gh itself
    reads them) or a gh auth login raise that to 5000/hour; either is now
    picked up automatically, computed once per run rather than per tool.

macOS 1.37.1

Fixed

  • github_latest_tag was unauthenticated. GitHub's API allows 60
    requests/hour per source IP without a token, shared with anything else on
    the same address; every release-tracked tool this call is used for is
    one more request against that budget. GITHUB_TOKEN/GH_TOKEN (read the
    same as gh itself reads them) or a gh auth login raise that to
    5000/hour; either is now picked up automatically, computed once per run
    rather than per tool.

  • --doctor's carapace check looked for the wrong function. carapace
    1.7 defines _carapace_completer, not _carapace - the fragment
    registers it with compdef _carapace_completer <every command it covers>. A working completer was reported as never initialised.