Skip to content

base-bash-libs v1.3.0

Latest

Choose a tag to compare

@codeforester codeforester released this 16 Jul 17:59
5e52e79

Fixed

  • Hardened arg_parse option specifications against duplicate, empty, and
    unreachable tokens, and added repeatable value options with ordered,
    caller-owned indexed-array outputs.

  • Hardened file-section marker validation, preserved symlink targets during
    atomic updates, and treated option-like target paths literally.

  • Made GitHub API failure capture safe under set -e, accepted canonical SSH
    GitHub remotes, and separated submodule diagnostics from pull logs while
    unregistering eagerly removed Git temp files.

  • Added canonical git_* names for generic branch, worktree, default-branch,
    and remote helpers.

  • Made fallback timeouts terminate descendant processes when a command is
    launched in its own process group.

  • Isolated pre-existing EXIT trap control flow so return or exit cannot skip
    registered cleanup hooks and paths.

  • Normalized decimal integer inputs before arithmetic validation and rejected
    inverted argument or range bounds.

  • Stopped wrapper-option filtering at the -- argument terminator and kept
    launcher runtime-filter state local to each script invocation.

  • Preserved caller OPTIND, maintained batch prepend order in add_to_path, and
    treated option-like paths literally in safe_touch.

  • Hardened named-output helpers across std, string, list, arg, git, and GitHub
    libraries against caller variable names that collide with helper internals.

  • Rejected readonly caller-owned output variables before helper side effects.

  • Aligned standards and stdlib documentation with the current sourceable
    library surface and standalone checkout path.

  • Added public associative-array assertions and moved arg_parse caller-owned
    map validation onto the public assertion API.

  • Added cleanup path unregister support and used it for eager temp cleanup.

  • Made gh_run report failed GitHub CLI commands even when callers enable
    set -e, and preserved argument boundaries in GitHub command failure logs.

  • Documented and tested str_split trailing-separator behavior.

  • Hardened GitHub helper pass-by-name outputs against internal variable
    shadowing, added a non-optional gh_infer_repo_from_origin error message,
    and deduplicated worktree parsing loops.

  • Kept gh_list_remote_branches from leaking its internal SHA loop variable
    into caller scope.

  • Routed gh_api_with_retry retry sleeps through the stdlib sleep helper so
    shell sleep aliases or functions cannot shadow retry delays.

  • Made arg_parse publish output arrays only after a parse succeeds, leaving
    caller-owned outputs unchanged on late parse failures.

  • Kept the warning-level ShellCheck profile clean for file section marker-count
    validation.

  • Reused shared marker validation inside update_file_section.

Removed

  • Removed the temporary generic gh_* branch, worktree, upstream, merge,
    default-branch, and remote helper names after Base migrated to git_*.