Skip to content

Releases: f-steff/git-nest

git-nest 0.8.25

Choose a tag to compare

@github-actions github-actions released this 13 Aug 01:32
bcfb2e3

0.8.25 - 2026-08-12

--finally callbacks on iteration and batch commands

  • Added --finally <cmd>, --finally-no-error <cmd>, and
    --finally-on-error <cmd> to foreach, foreach-modified,
    foreach-clean, restore, snapshot, pull, and gc. Each runs a
    shell command in the nest root exactly once, after the operation
    completes: --finally always, --finally-no-error only on full
    success, --finally-on-error only when any part failed.
  • The manifest lock is released before a callback runs, so a callback
    may invoke git-nest itself (e.g. pull --finally 'git-nest snapshot' or a nested-nest operation) without deadlocking.
  • --finally* cannot be combined with machine-readable output
    (--porcelain/--json/--json-pretty).
  • pull and gc now return nonzero when any subproject failed or
    diverged, so scripting and --finally-on-error can react to issues
    instead of always seeing success.
  • The open --finally suggestion in todo.md was implemented and
    removed; the remaining suggestion items were renumbered.

git-nest 0.8.24

Choose a tag to compare

@github-actions github-actions released this 11 Aug 23:32
95e0ea9

0.8.24 - 2026-08-11

Repository cleanup

  • Relocated Jekyll site source (index.md, _config.yml, assets/,
    _includes/) from the repo root into docs/site/.
  • Merged tools/serve-site.py into scripts/tools/ and deleted the
    tools/ directory.
  • Added scripts/README.md describing the package and tool scripts.
  • Updated the quick-start intro in index.md to match the repository
    About text.
  • Synced AGENTS.md and development/github-pages.md with the new layout.

git-nest 0.8.23

Choose a tag to compare

@github-actions github-actions released this 11 Aug 15:41
6a41bdc

0.8.23 - 2026-08-11

Tag CI dispatch for Pages badges

  • The release workflow now explicitly dispatches the three full CI
    suites on the newly created tag via gh workflow run, because
    gh release create's tag push with GITHUB_TOKEN does not trigger
    additional workflow runs. This makes the Pages site version-pinned
    badges (?branch=v{{ site.version }}) go green automatically after
    every release.
  • The shfmt auto-installer now lowercases uname -s output so the
    download URL matches the actual GitHub release asset filename
    (the filename is lowercase but uname -s is capitalised).

git-nest 0.8.22

Choose a tag to compare

@github-actions github-actions released this 11 Aug 13:01
28c728b

0.8.22 - 2026-08-11

CI infrastructure fixes

  • Fixed the shfmt auto-installer: uname -s returns "Linux" / "Darwin"
    (capitalised) but the GitHub release asset filenames are lowercase;
    the first download URL was wrong, which caused the fallback Windows
    binary to be downloaded on Linux runners (intermittently failing when
    the CDN happened to serve the capitalised URL correctly).
  • Version gate: added --allow-equal so tag CI dispatches (re-validating
    a past release for the version-pinned Pages badges) pass the gate
    when the version equals the last release tag. The release workflow
    still uses strict mode (no flag), so non-bump merges remain rejected.
  • CI workflows trigger on release tags (v*) so the Pages site badge
    URLs (?branch=v{{ site.version }}) reflect the release version's
    actual test status rather than the development-branch state.

git-nest 0.8.21

Choose a tag to compare

@github-actions github-actions released this 11 Aug 12:06
0aaf7a8

0.8.21 - 2026-08-11

Protocol and URL substitution for subproject remotes

  • Added a local per-developer protocol preference: git-nest config set clone protocol ssh|https|http|manifest stores the transport
    preference in .gitnest-rc (repo-wide, not committed).
  • restore --prefer-ssh|--prefer-https|--prefer-http|--prefer-default
    overrides the protocol for a single run and re-points each subproject's
    origin to the effective URL; restore --dry-run previews the change.
  • Per-subproject exact URL override: git-nest config set <path> substitute-url <url> for hosts whose SSH shape cannot be derived
    from the HTTPS URL (Azure DevOps, custom ports, Gerrit).
  • Transport is rewritten via environment-level git insteadOf per
    unique host -- zero persistent git-config writes, no call-site changes
    (git 2.31+ required for GIT_CONFIG_COUNT support).
  • config list now shows repo, clone-mode, substitute-url, protocol
    (from both the manifest and .gitnest-rc); the new rc-writing
    helpers support config set/get/unset for rc keys.
  • verify compares origin against the effective URL by default (host+path
    identity, protocol-tolerant); verify --strict checks the exact
    canonical manifest URL and rejects active rc overrides.
  • Documented the url.<base>.insteadOf pattern, substitute-url, and
    protocol preference in a new "Connecting To Your Remotes" section in
    the Manual.

git-nest 0.8.20

Choose a tag to compare

@github-actions github-actions released this 11 Aug 06:21
6cbb2b3

0.8.20 - 2026-08-11

Windows installation documentation

  • The QuickStart, the Manual, and the CI consumer guide now state
    explicitly that Windows requires Git for Windows (git-nest runs on
    Git Bash). Without it the installers complete but every git-nest
    command exits with "Git is not installed or not on PATH." (exit 3).
  • Added a direct PowerShell install option (iex (iwr -useb ...))
    alongside the cmd.exe wrapper one-liner on the QuickStart, in the
    Manual, and in the CI consumer guide.

git-nest 0.8.19

Choose a tag to compare

@github-actions github-actions released this 11 Aug 05:11
af46285

0.8.19 - 2026-08-10

Installer and uninstaller fixes

  • Fixed the download installer's checksum verification: the tarball was
    downloaded as git-nest.tar.gz but verified against SHA256SUMS lines
    naming git-nest-<version>.tar.gz, so the documented curl | sh
    install always aborted. The tarball is now downloaded under the
    versioned name.
  • Fixed a dangerous uninstaller bug: all three uninstallers removed the
    entire $prefix/share directory, which could delete other tools'
    data when the prefix is a shared location such as ~/.local (the
    default). They now remove only the git-nest-owned paths
    (share/doc/git-nest, share/git-nest, and the git-nest* man
    pages) and leave everything else intact.
  • Pinned-version examples in the README and the CI consumer guide use
    0.8.17 (the earliest published release) instead of the never-released
    0.8.16.
  • Quickstart on the documentation site: single deep link to the
    Manual's installation options; the second, redundant manual link was
    replaced with a brief tool introduction.
  • The Manual page on the site no longer contains the "Documentation:"
    link that pointed back at the site itself (the link remains in the
    README for the GitHub repository page).

git-nest 0.8.18

Choose a tag to compare

@github-actions github-actions released this 10 Aug 15:42
42b89fe

0.8.18 - 2026-08-10

Documentation site fixes

  • Fixed the GitHub Pages site: added the missing baseurl: /git-nest so
    CSS, assets, and page links resolve (the site rendered unstyled
    before), and enabled .md to .html link rewriting.
  • Sidebar: badge logo at the top with the site title below, a centered
    status section (latest release version + the three full CI badges),
    and a link back to the GitHub repository; the status section shares
    the header's width and horizontal center at every viewport.
  • Home page: quickstart links to the Manual's install section for more
    options; the full-width inline logo was removed (the logo now lives
    in the sidebar).
  • Replaced all mermaid diagram blocks with ASCII diagrams (5 in
    docs/examples.md, 1 in development/technical_docs.md) so the docs
    render without a mermaid runtime.
  • _config.yml gains a version: key shown as "Latest release" on the
    site; the version alignment check now keeps it in lockstep with
    bin/git-nest-main.sh and version.md.
  • Added tools/serve-site.py, a local preview server for the built
    site (documented in development/github-pages.md).

git-nest 0.8.17

Choose a tag to compare

@github-actions github-actions released this 09 Aug 23:36
bf21287

0.8.17 - 2026-08-10

Distribution, installation, and project publishing

  • Added GitHub Pages site: Jekyll just-the-docs theme, inline SVG logo
    (the \_oOO_// mark, dark-mode aware, also the favicon), and automatic
    deployment on merge to main.
  • Added one-line installers: git-nest-install.sh (POSIX shells) and
    git-nest-install.ps1 (PowerShell), supporting VERSION=latest
    (GitHub API) and VERSION=x.y.z, with SHA256SUMS verification.
  • Installers append the payload bin/ to PATH by default;
    --no-add-path (sh/bat) or GIT_NEST_ADD_PATH=0 (ps1) disables it
    for CI and scripted installs.
  • Renamed install/uninstall scripts to git-nest-install.* /
    git-nest-uninstall.*; uninstallers self-locate their installation,
    remove payload, staged docs/man/skill, and PATH configuration, and
    delete themselves.
  • Windows installers register git-nest in Apps & Features (Settings ->
    Apps) with a working uninstall entry; uninstallers remove it.
  • git-nest help prints the install path and the uninstaller name;
    README documents the installed layout tree and per-system
    install/uninstall instructions.
  • Added docs/ci-consumer-guide.md for DevOps engineers: per-CI-system
    install recipes (GitHub Actions, Azure Pipelines, GitLab CI, Gitea,
    Jenkins), private-subproject credentials, agent-image pattern.
  • Split docs: user-facing documentation stays in docs/ (shipped in
    packages); maintainer documentation moved to development/.
  • Removed native package-manager stubs (Chocolatey, Homebrew, Scoop,
    Winget, APT, RPM, AUR) and the Amiga packaging target; the universal
    release tarball + install scripts are the sole distribution channel.
  • Renamed the implementation and awk modules to the git-nest-* naming
    convention (git-nest-main.sh, git-nest-parse.awk,
    git-nest-tree-render.awk).
  • CI automation: full test suites gate pull requests (Linux, macOS,
    Windows); merge to main runs the full Linux + fast macOS/Windows
    suites, deploys Pages, and auto-triggers the release workflow, which
    creates the vX.Y.Z tag and GitHub Release when the version gate
    passes.