Skip to content

base-bash-libs v2.1.0

Latest

Choose a tag to compare

@codeforester codeforester released this 08 Sep 15:29
· 2 commits to main since this release
36fec50

Added

  • Added the isolated Base Bash Demo as an immutable released-package consumer
    and pinned downstream compatibility canary while keeping independent
    adoption evidence separate.

Security

  • Made generated framework provenance fail closed for purported immutable pins
    while representing dirty or identity-less inputs as explicitly unverified
    development state.
  • Bound offline release verification to one complete asset set by requiring
    strict checksum coverage and consistent archive, provenance, SBOM, version,
    and source-commit identity.

Fixed

  • Enforced one canonical three-component SemVer grammar across runtime version
    requirements, consumer project metadata, framework pins, and release gates.
  • Preserved application lifecycle frames across nested and same-model runs,
    including inner-to-outer exit and signal cleanup.
  • Made Git worktree discovery NUL-safe, added exact named path output, and
    escaped control characters in tabular listings.
  • Made repeated project scaffolding restore every expected file mode and stage
    new-file permissions before the atomic move into place.
  • Bound generated applications' user-visible CLI version to their project
    VERSION while keeping framework identity in the separate pin and status.
  • Made ordinary named-output, string, list, argument, Git, and GitHub APIs
    return status 2 for recoverable caller-contract errors instead of invoking
    fail-fast assertion boundaries.
  • Enforced required repeatable positional tails based on values consumed by the
    repeatable itself, independent of earlier fixed positional arguments.
  • Made CLI completion consume option values and stop command and option
    interpretation after --, matching the runtime parser's path semantics.
  • Replaced the frozen 2.0.0 release guards with one shared post-GA SemVer
    policy for stable v2 patch/minor releases and approved prerelease channels.
  • Made table-driven CLI declaration transactional so any late semantic error
    restores an existing model exactly or removes a partial new model.
  • Rejected unreachable CLI command routes and ancestor/child option collisions,
    including canonical-name, alias, option-name, and option-token conflicts.
  • Rejected application declaration attributes outside each public API's
    documented context instead of silently accepting and discarding them.
  • Isolated application run status per model while retaining the process-global
    last-status value as a compatibility view of the most recently active model.
  • Added a manifest-bound lock to standalone applications' embedded vendor copy
    so it passes the same offline vendor verification as ordinary installs.
  • Prevented list, CLI, and application call paths from creating or overwriting
    caller-visible variables through undeclared internal scratch assignments.
  • Eliminated an intermittent macOS Bash process-group race in supervised
    commands by limiting job-control setup to the caller command rather than its
    short-lived timeout watchdog.