Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ and versions are tracked in the repo-root `VERSION` file.

## [Unreleased]

<!-- The v2.2.0 release-preparation issue will move these entries into the
dated release section after the final merged commit is selected. -->
No unreleased changes yet.

## [2.2.0] - 2026-10-07

### Added

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

| Version | License | Install | Release notes |
| --- | --- | --- | --- |
| `2.1.0` | [Apache-2.0](LICENSE) | `brew install basefoundry/base/base-bash-libs` | [v2.1.0](https://github.com/basefoundry/base-bash-libs/releases/tag/v2.1.0) |
| `2.2.0` | [Apache-2.0](LICENSE) | `brew install basefoundry/base/base-bash-libs` | [v2.2.0](https://github.com/basefoundry/base-bash-libs/releases/tag/v2.2.0) |

The v2.1.0 release is published with a deterministic [bundle archive](https://github.com/basefoundry/base-bash-libs/releases/download/v2.1.0/base-bash-libs-v2.1.0.tar.gz), [checksum manifest](https://github.com/basefoundry/base-bash-libs/releases/download/v2.1.0/base-bash-libs-v2.1.0.SHA256SUMS), [SPDX SBOM](https://github.com/basefoundry/base-bash-libs/releases/download/v2.1.0/base-bash-libs-v2.1.0.spdx.json), and [provenance statement](https://github.com/basefoundry/base-bash-libs/releases/download/v2.1.0/base-bash-libs-v2.1.0.provenance.json). First-party consumers and Homebrew can promote to its exact immutable commit through the coordinated release handoff; the original v2.0.0 cutover is recorded in completed issue #240.
The v2.2.0 release is published with a deterministic [bundle archive](https://github.com/basefoundry/base-bash-libs/releases/download/v2.2.0/base-bash-libs-v2.2.0.tar.gz), [checksum manifest](https://github.com/basefoundry/base-bash-libs/releases/download/v2.2.0/base-bash-libs-v2.2.0.SHA256SUMS), [SPDX SBOM](https://github.com/basefoundry/base-bash-libs/releases/download/v2.2.0/base-bash-libs-v2.2.0.spdx.json), and [provenance statement](https://github.com/basefoundry/base-bash-libs/releases/download/v2.2.0/base-bash-libs-v2.2.0.provenance.json). First-party consumers and Homebrew can promote to its exact immutable commit through the coordinated release handoff; the original v2.0.0 cutover is recorded in completed issue #240.

Reusable Bash standard library for reliable shell scripts.

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.1.0
2.2.0
2 changes: 1 addition & 1 deletion lib/bash/base-bash-libs.release
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
schema_version=1
version=2.1.0
version=2.2.0
commit=unknown
dirty_state=unknown
provenance=release-artifact
7 changes: 5 additions & 2 deletions tests/release-invariants.bats
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,16 @@ setup() {
git clone --local "$BASE_REPO_ROOT" "$candidate_repo" > /dev/null
git -C "$candidate_repo" config user.name "Release invariant test"
git -C "$candidate_repo" config user.email "release-invariant-test@example.invalid"
printf '2.2.0\n' > "$candidate_repo/VERSION"
current_version="$(<"$candidate_repo/VERSION")"
IFS=. read -r current_major current_minor current_patch <<< "$current_version"
additive_version="${current_major}.${current_minor}.$((current_patch + 1))"
printf '%s\n' "$additive_version" > "$candidate_repo/VERSION"
git -C "$candidate_repo" add VERSION
git -C "$candidate_repo" commit -m "test: advance candidate version" > /dev/null

run env -u BASE_HOME BASE_CACHE_DIR="$TEST_TMPDIR/additive-cache" \
"$candidate_repo/tests/release-invariants.sh"

[ "$status" -eq 0 ]
[[ "$output" == *"candidate_version=2.2.0 candidate_ref=HEAD compatibility_ref=v2.0.0"* ]]
[[ "$output" == *"candidate_version=$additive_version candidate_ref=HEAD compatibility_ref=v2.0.0"* ]]
}
Loading