@sebastienrousseau/dotfiles 0.2.516 → 0.2.518

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,45 @@
2
2
 
3
3
  This file documents all notable changes to this project.
4
4
 
5
+ ## v0.2.518 — 2026-08-13
6
+
7
+ ### Changed
8
+
9
+ - Added binary-aware cached initialization for mise and zoxide in PowerShell,
10
+ bringing PowerShell startup behavior in line with Bash, Fish, Nushell, and
11
+ Zsh.
12
+ - Activated the existing PowerShell 7.5.2 mise installation in the managed
13
+ workstation tool configuration, preventing an unresolved `pwsh` shim.
14
+ - Pruned duplicate and nonexistent PATH entries after deferred mise hydration
15
+ so tool upgrades resolve through the current mise environment.
16
+
17
+ ### Fixed
18
+
19
+ - Normalized chezmoi source paths ending in `defaults` in both Nerd Font hooks.
20
+ This prevents a verified `dot apply` from failing to locate
21
+ `lib/dot/verified-download.sh` after the v0.2.503 repository reorganization.
22
+ - Updated workstation diagnostics to recognize the PowerShell cached-init
23
+ implementation instead of reporting a false shell-coverage warning.
24
+
25
+ ## v0.2.517 — 2026-08-12
26
+
27
+ ### Changed
28
+
29
+ - Updated the GitHub Actions minor/patch dependency group across the CI,
30
+ security, release, documentation, and reliability workflows. The reviewed
31
+ updates include Harden Runner 2.20.1, Checkout 7.0.1, CodeQL 4.37.6,
32
+ Checkov Action 12.3115.0, Paths Filter 4.0.3, and Build Provenance 4.2.2.
33
+ - Refreshed all same-repository reusable workflow pins from the v0.2.511
34
+ baseline to the immutable v0.2.516 commit.
35
+
36
+ ### Fixed
37
+
38
+ - Kept the block-mode egress and documentation-drift contract tests aligned
39
+ with the reviewed Harden Runner 2.20.1 SHA, preventing dependency updates
40
+ from invalidating otherwise-correct CI security policy checks.
41
+ - Documented Dependabot's current support for grouped updates to immutable
42
+ same-repository reusable workflow references.
43
+
5
44
  ## v0.2.513 — 2026-08-06
6
45
 
7
46
  - **Verified module registry installation.** `dot registry install` now validates the v1 index, verifies immutable archive SHA-256 digests, rejects traversal and link-bearing archives, previews with chezmoi by default, and applies only with explicit `--yes`. CI validates the published registry contract and JSON Schema.
@@ -428,7 +467,7 @@ verified by `dot lint` + the existing test matrix.
428
467
  - **`dot_config/shell/00-core-paths.sh.tmpl`** — system paths added via `path_prepend` (which removes duplicates first) instead of `PATH="...:${PATH}"`, eliminating the duplicate-system-path bloat that accumulates when the parent shell already had those entries (macOS launchd default).
429
468
  - **`dot_config/zsh/dot_zshrc.tmpl`** — re-apply `typeset -U path` after `_dotfiles_async_init` runs cached `export PATH=...` from mise/atuin/etc, since those bypass zsh's `-U` flag on the `path` array.
430
469
  - **`scripts/diagnostics/doctor.sh`** — only flag tools that actually emit shell-init eval and are not already lazy-loaded; raise PATH-length thresholds (60 ok / 120 warn) to match a populated mise-managed dev machine; skip `nu` when `cached_eval.nu` is present.
431
- - **`dot_config/git/hooks/executable_commit-msg`** — replaced hardcoded `/Users/seb` path with `${HOME}` so the hook is portable across hosts.
470
+ - **`dot_config/git/hooks/executable_commit-msg`** — replaced a hardcoded user-home path with `${HOME}` so the hook is portable across hosts.
432
471
  - **`dot_config/fish/conf.d/{direnv,mise-activate}.fish`** — empty shadow files that override Homebrew `vendor_conf.d` to prevent eager init. fish dedupes `conf.d/` by basename, user wins. Saves ~140ms on every fish shell start; both tools are loaded lazily via `_cached_eval` in `init.fish`.
433
472
  - **`.devcontainer/Dockerfile`** — chezmoi install now goes through `tools/ci/install-chezmoi-verified.sh` (SHA256-verified) instead of the unverified `curl -fsSL https://get.chezmoi.io` fallback. Closes R4 §8.3 P3 / mirrors R1 H6 fix in `install.sh`.
434
473
  - **`typos.toml`** — extended file exclusions (`**/*.asc`, `**/*.pgp`, `**/*.gpg`, `**/*.sig`) to skip armored cryptographic blobs; added `fpr` / `FPR` to the allow-list (GPG `--with-colons` fingerprint column label).
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  <p align="center">
12
12
  <a href="https://github.com/sebastienrousseau/dotfiles/actions"><img src="https://img.shields.io/github/actions/workflow/status/sebastienrousseau/dotfiles/ci.yml?style=for-the-badge&logo=githubactions&logoColor=white" alt="Build" /></a>
13
- <a href="https://github.com/sebastienrousseau/dotfiles/releases/latest"><img src="https://img.shields.io/badge/Version-v0.2.516-blue?style=for-the-badge&logo=semanticrelease&logoColor=white" alt="Version" /></a>
13
+ <a href="https://github.com/sebastienrousseau/dotfiles/releases/latest"><img src="https://img.shields.io/badge/Version-v0.2.518-blue?style=for-the-badge&logo=semanticrelease&logoColor=white" alt="Version" /></a>
14
14
  <a href="https://github.com/sebastienrousseau/dotfiles/releases"><img src="https://img.shields.io/github/downloads/sebastienrousseau/dotfiles/total?style=for-the-badge&logo=github&logoColor=white" alt="Downloads" /></a>
15
15
  <a href="https://codespaces.new/sebastienrousseau/dotfiles"><img src="https://img.shields.io/badge/Open%20in-Codespaces-blue?style=for-the-badge&logo=github&logoColor=white" alt="Open in GitHub Codespaces" /></a>
16
16
  <a href="https://scorecard.dev/viewer/?uri=github.com/sebastienrousseau/dotfiles"><img src="https://img.shields.io/ossf-scorecard/github.com/sebastienrousseau/dotfiles?style=for-the-badge&logo=linuxfoundation&logoColor=white&label=OpenSSF%20Scorecard" alt="OpenSSF Scorecard" /></a>
@@ -52,8 +52,8 @@
52
52
 
53
53
  ```bash
54
54
  curl -fsSL -o /tmp/dotfiles-install.sh \
55
- https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.516/install.sh
56
- echo "d5a04c5e2813a93a63c8ecce9655cf3d107f6068862c6eba84a92cf22f801c7e /tmp/dotfiles-install.sh" \
55
+ https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.518/install.sh
56
+ echo "1f8ef5b5ca0de42002269461ded3acc9d30cadc4f77e04d0abfd008d5690c0c5 /tmp/dotfiles-install.sh" \
57
57
  | shasum -a 256 -c
58
58
  bash /tmp/dotfiles-install.sh
59
59
  ```
package/docs/COPYRIGHT CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.516) - <https://github.com/sebastienrousseau/dotfiles>
2
+ * 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.518) - <https://github.com/sebastienrousseau/dotfiles>
3
3
  * Made With ❤️ in London, United Kingdom
4
4
  * Designed by
5
5
  * Copyright (c) 2015-2026. All rights reserved.
@@ -4,7 +4,7 @@ render_with_liquid: false
4
4
 
5
5
  # Introduction
6
6
 
7
- This manual describes `.dotfiles` v0.2.516 — a trusted agent workstation baseline for macOS, Linux, and WSL.
7
+ This manual describes `.dotfiles` v0.2.518 — a trusted agent workstation baseline for macOS, Linux, and WSL.
8
8
 
9
9
  The repository is more than a personal dotfiles collection. It ships as workstation infrastructure: signed, attested, multi-platform, AI-aware, and self-healing. Chezmoi handles templating and platform differences. The `dot` CLI sits on top and coordinates lifecycle operations.
10
10
 
@@ -99,17 +99,17 @@ intentional before merge.
99
99
 
100
100
  ## Dependabot
101
101
 
102
- Dependabot's `github-actions` ecosystem **does not** support same-repo
103
- reusable workflow SHA bumps as of May 2026 — it only updates
104
- references to external actions. Same-repo reusables are tracked
105
- manually via the recipe above. The Dependabot config in
106
- `.github/dependabot.yml` covers the external dimension; this
107
- document covers the in-repo one.
108
-
109
- If GitHub ships native Dependabot support for reusable workflows,
110
- delete this section and switch to `package-ecosystem: github-actions`
111
- with `directory: /.github/workflows`. Track on
112
- [github/feedback#10539](https://github.com/orgs/community/discussions/10539).
102
+ Dependabot's `github-actions` ecosystem now updates full-SHA references to
103
+ same-repository reusable workflows. PR
104
+ [#992](https://github.com/sebastienrousseau/dotfiles/pull/992) verified this
105
+ behavior by moving the reusable workflow baseline from v0.2.511 to the
106
+ immutable v0.2.516 commit alongside the external minor/patch action group.
107
+
108
+ Keep `bump-reusable-pins.yml` enabled as the immediate post-merge path. It
109
+ updates callers as soon as a reusable workflow changes on `main`, while
110
+ Dependabot provides the scheduled dependency review and grouped update path.
111
+ Both mechanisms must preserve full 40-hex SHA references and pass
112
+ `lint-reusable-pins` plus the egress-policy contract tests.
113
113
 
114
114
  ## Negative test
115
115
 
package/install.sh CHANGED
@@ -71,7 +71,7 @@ show_help() {
71
71
  Usage: install.sh [version] [options]
72
72
 
73
73
  Arguments:
74
- version The version (tag or branch) to install (default: v0.2.516)
74
+ version The version (tag or branch) to install (default: v0.2.518)
75
75
 
76
76
  Options:
77
77
  --help Show this help message
@@ -87,7 +87,7 @@ EOF
87
87
  }
88
88
 
89
89
  main() {
90
- local version="v0.2.516"
90
+ local version="v0.2.518"
91
91
  local version_set=0
92
92
  local minimal=0
93
93
  local provision="${DOTFILES_PROVISION:-0}"
@@ -117,7 +117,7 @@ main() {
117
117
  # like `foobar` doesn't trigger a 30s+ network download attempt.
118
118
  # Caught by the install.sh fuzz harness (#881).
119
119
  if [[ ! "$arg" =~ ^v?[0-9]+\.[0-9]+\.[0-9]+([-+][a-zA-Z0-9.-]+)?$ ]]; then
120
- error "Unrecognized positional argument '$arg' — expected a semver version (e.g. v0.2.516)."
120
+ error "Unrecognized positional argument '$arg' — expected a semver version (e.g. v0.2.518)."
121
121
  fi
122
122
  version="$arg"
123
123
  version_set=1
@@ -369,7 +369,7 @@ main() {
369
369
  # 6. Initialize & Apply
370
370
  step "Applying Configuration..."
371
371
 
372
- # ── Auto-migration for v0.2.516 reorg ─────────────────────────────────
372
+ # ── Auto-migration for v0.2.518 reorg ─────────────────────────────────
373
373
  # If the user is upgrading from a pre-0.2.503 install, run the
374
374
  # migration script BEFORE `chezmoi apply` so the reorg's source-
375
375
  # path moves don't cause chezmoi to delete deployed files.
@@ -378,7 +378,7 @@ main() {
378
378
  for migrate_src in "$SOURCE_DIR" "$LEGACY_SOURCE_DIR"; do
379
379
  migrate_script="$migrate_src/install/migrate/migrate-v0_2-to-v0_2_503.sh"
380
380
  if [[ -x "$migrate_script" ]]; then
381
- echo " Running v0.2.516 migration (idempotent; safe on fresh installs)..."
381
+ echo " Running v0.2.518 migration (idempotent; safe on fresh installs)..."
382
382
  "$migrate_script" || echo " migration exited non-zero — continuing apply"
383
383
  break
384
384
  fi
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sebastienrousseau/dotfiles",
3
- "version": "0.2.516",
3
+ "version": "0.2.518",
4
4
  "description": "The Trusted Shell Platform — Universal dotfiles managed by Chezmoi. Features Bash & Zsh for macOS, Linux & WSL. Rust modern tooling & enterprise-grade security.",
5
5
  "main": "install.sh",
6
6
  "bin": {
@@ -628,8 +628,7 @@ else
628
628
  fi
629
629
 
630
630
  # 5. Shell coverage. Surface installed shells that the project's caching
631
- # infrastructure doesn't currently maintain caches for. zsh/bash/fish/nu
632
- # all have a `_cached_eval` analogue; pwsh does not.
631
+ # infrastructure doesn't currently maintain caches for.
633
632
  shells_unmanaged=""
634
633
  for sh in nu pwsh; do
635
634
  command -v "$sh" >/dev/null 2>&1 || continue
@@ -637,6 +636,11 @@ for sh in nu pwsh; do
637
636
  nu)
638
637
  [[ -f "$HOME/.config/nushell/cached_eval.nu" ]] && continue
639
638
  ;;
639
+ pwsh)
640
+ pwsh -NoLogo -NoProfile -NonInteractive -Command 'exit 0' >/dev/null 2>&1 || continue
641
+ pwsh_profile="$HOME/.config/powershell/Microsoft.PowerShell_profile.ps1"
642
+ [[ -f "$pwsh_profile" ]] && grep -q 'Get-DotfilesCachedInit' "$pwsh_profile" && continue
643
+ ;;
640
644
  esac
641
645
  shells_unmanaged="${shells_unmanaged:+$shells_unmanaged, }$sh"
642
646
  done
@@ -141,6 +141,6 @@ if [[ $FAILED -eq 1 ]]; then
141
141
  printf '%b\\n' " (Use --no-verify to bypass if absolutely necessary)"
142
142
  exit 1
143
143
  else
144
- printf '%b\n' "${GREEN}${BOLD}✅ Audit passed.${NC} v0.2.516 standards maintained."
144
+ printf '%b\n' "${GREEN}${BOLD}✅ Audit passed.${NC} v0.2.518 standards maintained."
145
145
  exit 0
146
146
  fi