Releases: basefoundry/base
Releases · basefoundry/base
Release list
Base v1.6.1
Added
- Added
basectl trust status|allow|revoketo inspect and manage local
manifest-command approval records under Base-managed state. - Enforced manifest-command trust before
basectl test,run,build,
demo, andactivateexecute project-owned manifest code, while preserving
dry-run and list inspection paths before approval.
Changed
- Surfaced pinned Homebrew installer variables in the default first-mile
bootstrap path so security-conscious users can choose a verified installer
before running the mutable official Homebrew installer. - Reused the external
base-bash-libsGitHub CLI helpers inbasectl ghand
basectl repo, and updated the pinned CI dependency to the helper-library
commit that provides them. - Reused
base-bash-libstemp-file cleanup helpers in post-bootstrap Bash
commands that create pull request bodies, CI capture files, setup probes, and
profile comparison files. - Reused
base-bash-libsargument and string helpers in focused Bash
subcommands, including export-context option parsing, CSV joins, and setup
profile splitting.
Fixed
- Clarified
basectl repo inithelp and docs so current-checkout usage,
GitHub setup, local commits, pushes, and the--prworkflow are no longer
conflated.
Base v1.6.0
Added
- Added an explicit
linux-labprerequisite profile that checks and installs
Multipass via Homebrew cask for local Ubuntu lab VMs without creating VM
instances during Base setup.
Changed
- Bound Base CI source-checkout jobs to the published
base-bash-libsv1.1.0
release commit.
Fixed
- Stopped
basectlfrom continuing under Rosetta when it resolves native
Apple Silicon Homebrew at/opt/homebrew, so setup fails early with Bash
recovery guidance instead of breaking during a laterbrew install. - Replaced stray shell
runcalls in setup's virtualenv and apt install paths
with direct command execution so spawnedbasectl setupruns do not depend on
a test-harness helper. - Stopped default project checks from failing Ubuntu/Linux acceptance solely
because manifest-declared IDE extension CLIs such ascodeare not onPATH;
IDE extension diagnostics now run with the developer profile. - Made the
tool:bats-coreproject artifact platform-aware on Ubuntu/Debian,
mapping it to the systembatspackage instead of planning a Homebrew
brew install bats-corecommand. - Preflighted
misetrust beforebasectl setuprunsmise install, so
untrusted project configs fail with a Base recovery message instead of raw
lower-levelmise installoutput. - Bootstrapped
miseduring Ubuntu/Debian project setup when a manifest
declares a project-owned mise config, while keeping the mutation guarded by
--dry-runreview and--yes. - Bootstrapped
uvduring Ubuntu/Debian project setup when a manifest
explicitly opts intopython.manager: uvorrunner: uv, while keeping the
mutation guarded by--dry-runreview and--yes. - Allowed repeated Ubuntu/Debian
basectl setupruns without--yeswhen all
apt prerequisites are already installed, while still requiring--yesbefore
Base mutates apt-managed system packages. - Made
basectl setup --profile dev,check --profile dev, and
doctor --profile devuse apt-backed BATS, GitHub CLI, and ShellCheck
handling on Ubuntu/Debian instead of requiring Homebrew. - Made explicit project setup/check routing ignore active-project virtualenv
overrides from a different shell project, so commands such as
basectl setup base-democannot accidentally reuse thebasevenv. - Made project Brewfile delegates platform-aware: macOS still runs Homebrew
brew bundle, while Ubuntu/Debian skips Brewfile setup/check as a warning so
uv-managed projects can proceed throughuv sync.
Base v1.5.0
Added
- Added
BASE_PLATFORMruntime metadata so Linux distribution-family support
can be represented without overloading the coarseBASE_OS=linuxcontract. - Added Ubuntu/Debian source-checkout CI validation and documented the
accepted Ubuntu 24.04 ARM64 Parallels validation path. - Added Linux-aware
basectl checkandbasectl doctorprerequisite
diagnostics for Python venv support, Git, GitHub CLI, BATS, ShellCheck, jq,
and Go on Ubuntu/Debian.
Changed
- Centralized setup/check platform dispatch so macOS, Ubuntu/Debian, unknown
Linux, and unsupported platforms are routed through explicit platform-policy
helpers instead of scattered command conditionals. - Changed Ubuntu/Debian setup behavior to fail conservatively with manual
prerequisite guidance until full apt-backed bootstrap support is implemented. - Updated compatibility, Linux-support, IDE-boundary, and forge-boundary docs
to reflect Ubuntu/Debian runtime support and the remaining non-goals.
Fixed
- Scrubbed activate override variables in the source-checkout test harness so
local shell state does not leak into BATS validation on Ubuntu or macOS.
Base v1.4.0
Fixed
- Made
basectl checkwarn when Homebrew reports installed Xcode Command Line
Tools are outdated or incomplete, matching the existingbasectl doctor
finding while keeping the check non-blocking.
Base v1.3.0
Added
- Added
basectl docsas a convenience shortcut to open the Base GitHub README
documentation entrypoint, with--show-urlfor non-browser contexts. - Added CI setup JSON rendering and a documented CI supply-chain hardening
policy for Base-managed bootstrap paths. - Added project Python runtime diagnostics and release title placeholder
validation. - Added optional pinned Homebrew installer support for first-mile bootstrap
environments that need a verified installer source. - Added direct coverage for Base command helpers, source guards, completions,
bootstrap, install, and command-dispatch lifecycle behavior.
Changed
- Standardized the
basectlpublic command lifecycle around space-separated
long options, compact usage errors, consistent help routing, and explicit
command-level logging options. - Routed Python command packages through the shared
base_clilifecycle and
moved project command metadata, CI JSON rendering, and GitHub Project issue
defaults into Python-backed helpers. - Improved shell and completion performance by caching project-name completion
results, reducing Git prompt subprocess work, and reducing setup/profile
subprocess use. - Split repository helper ownership into focused
repo installer-templateand
repo agent-guidancemodules, and centralized project command execution
helpers fortest,build,run, anddemo. - Hardened GitHub and Homebrew workflow handling with structured Homebrew trust
parsing, bounded GitHub authentication diagnostics, release-publish recovery
guidance, and portable GitHub Bash helper documentation. - Improved Base maintainability by normalizing Bash source guards, making the
Base home verification contract explicit, enforcing Python future annotation
standards, and using explicit error handling inbase-test.
Fixed
- Fixed nested and top-level completion parity gaps across Bash and Zsh.
- Fixed inherited
basectl updatesource-guard state so repeated sourced
command execution does not leak between invocations. - Fixed interactive prompt handling so redirected stdin does not block
onboarding and self-demo prompts from reading the terminal. - Fixed diagnostic probe duplication and bounded subprocess probes for Base
diagnostics. - Fixed sensitive value exposure in
basectl config showand setup command
argument logging. - Fixed
base_clihistory records to use the effective argv for displayed
command history.
Base v1.2.0
Added
- Added
basectl workspace initto clone a workspace repository, read its
workspace configuration, and clone the repositories declared by that
workspace. - Added
basectl prompt listandbasectl prompt product-self-reviewto render
repo-owned Markdown prompts for periodic AI-assisted Base workflow reviews. - Added a local command-history index for Python-backed Base command runs.
- Added manifest-declared PR policy support for Base-managed GitHub PR helpers.
- Added project Python version requirements and declarative artifact registry
support for Base-managed artifacts.
Changed
- Added
ctx.workspace_roottobase_cli.Contextso workspace-aware commands
can use the configured workspace root without reaching through user config. - Improved
basectl repo clone,repo check,repo configure, and
gh issue create|startdiagnostics so repository workflow failures include
clearer update, chmod, origin, Project-field, and worktree-command guidance. - Made
basectl repo configurewarn when Homebrew reports the local GitHub CLI
package is outdated, pointing users tobasectl setup --profile dev. - Made lifecycle command usage errors compact and consistent, returning exit
code2forsetup,check,doctor,onboard, andupdate-profile. - Made idempotent
basectl setupreconciliation quieter when no action is
required. - Added
base_cli.testing.invoke(..., manifest={...})for project-aware tests
that need a fixturebase_manifest.yaml. - Added optional stream and formatter overrides to
base_cli.configure_logger
for tests and CI wrappers that need to capture or reshape user-facing logs. - Added
base_cli.App(help=...)support for subcommand group help text. - Added standard
--quiet/-qsupport tobase_cli.Appto suppress INFO
output on the user-facing stream while preserving warnings, errors, and
persistent DEBUG log detail. - Documented the
base-bash-libsHomebrew/core readiness path, including the
formula-name audit command and futurebasefoundrydependency plan. - Documented the
basectl setupparallelism evaluation and the decision to
keep mutating setup serial until a setup-plan/preflight layer exists. - Corrected 1.1.0 documentation status, source-checkout
base-bash-libs
prerequisites, future-design banners, and CI bootstrap package guidance.
Fixed
- Fixed
basectl prompt -v <name>so the verbose flag no longer counts as a
second prompt argument. - Added actionable recovery guidance when
basectl update-profiledetects a
runtimeBASE_HOMEmismatch. - Fixed workspace reports for uv-managed project virtual environments and
broken project virtualenv detection. - Fixed project
--recreate-venvrepair and fail-fast runtime directory
handling for check diagnostics. - Allowed standard
base_cli.Appoptions such as--debugand
--environmentbefore subcommand names. - Made
base_cli.option(..., dry_run=True)reject duplicate dry-run markers on
the same command function. - Made default
base_cli.App(max_log_files=...)log retention prune by
timestamp-prefixed run-id filename instead of filesystem modification time.
Base v1.1.0
Changed
- Suppressed pip self-upgrade notices during Base-managed pip installs so
setup output stays focused on Base actions and real install failures. - Made live workflow docs and installer examples main-ready, using default-branch
URLs for raw GitHub install scripts andmainfor contributor branch
examples. - Documented the boundary for optional personal shell defaults such as color
aliases, navigation shortcuts, signing helpers, and strict shell modes. - Improved opt-in Bash and Zsh completion ergonomics for interactive shell
defaults. - Added conservative pager and terminal usability behavior to opt-in shell
defaults. - Enriched opt-in shell history defaults for
basectl update-profile --defaults. - Made Homebrew-managed
version: latestprofile and project artifacts report
outdated installed packages duringcheck/doctorand upgrade them during
setup. - Renamed the Base-managed GitHub Project metadata schema from
base-roadmap
tobase-project. - Made
basectl repo configurereport missingBASE_PROJECT_TOKENProject
intake secrets and improved generated workflow diagnostics when the Actions
token cannot see repo Projects. - Made Homebrew-managed
basectl updatepreflight tap trust before upgrading
Base when Homebrew requires trust for the tap-ownedbase-bash-libs
dependency. - Removed Base's bundled reusable Bash
std,file, andgitlibraries;
Base now requires externalbase-bash-libsthrough an explicit override,
sibling checkout, or Homebrew package.
Fixed
- Made Homebrew artifact dry-run tests independent of the developer machine's
installed or outdated Homebrew formulae.
Base v1.0.5
Added
- Added
BASE_BASH_LIBS_SOURCEandBASE-D007diagnostics sobasectl check
andbasectl doctorreport whether Base is using external reusable Bash
libraries or the bundled fallback. - Added BATS coverage proving Base can bootstrap from external
base-bash-libswhen bundled reusable Bash library directories are absent.
Changed
- Documented Homebrew tap trust for Base and standalone
base-bash-libs
installs, and updated direct Base upgrade examples to use
brew upgrade --no-ask codeforester/base/base.
Fixed
- Fixed Bash library readiness BATS assertions so they pass both with a sibling
base-bash-libscheckout and with bundled fallback.
Base v1.0.4
Changed
- Made Base resolve reusable Bash libraries from an external
base-bash-libs
checkout or Homebrew package when available, while keeping the bundled
lib/bashtree as a fallback. - Documented the standalone
base-bash-libsinstall path, Base's consumption
contract, and the migration gate for eventually removing bundled reusable
Bash libraries.
Base v1.0.3
Changed
- Made
basectl repo initprint visible next steps when GitHub setup is skipped
because no repository was provided or inferred. - Made
basectl repo cloneprint the Base baseline check hint only when the
cloned repository containsbase_manifest.yaml. - Made
basectl repo agent-guidancedetect the target repository default
branch before falling back tomain. - Made
basectl repo agent-guidanceprint a visible created/unchanged summary
when existing guidance files are left untouched. - Made
basectl repo installer-templatewrite./install.shby default and
added--print/--stdoutfor the stdout template view. - Added dirty-worktree and repository-root fix hints for
basectl repo
subcommands that create pull requests. - Clarified
basectl repo initandrepo configurehelp to say Base-managed
GitHub settings are safe to re-run and do not remove outside settings. - Made live
basectl repo configureruns print a structured action summary for
repository settings, labels, branch protection, and Project metadata. - Made
basectl repo checkprint visible success/failure summaries with counts
and repair commands when files are missing. - Made
basectl repo init --prprint next steps after opening a baseline pull
request, including the command to rerun after merge. - Clarified
basectl repo initandrepo configurehelp to distinguish local
baseline updates, optional GitHub repo creation, and GitHub-side repair. - Made
basectl ci setup --format jsoninclude compactoutput_lineson
setup failures so CI consumers keep intermediate diagnostic context. - Standardized Bash CLI usage errors on
print_errorand changed unknown
config, projects, release, and workspace commands to return usage status
without fatal stack traces.