Changelog¶
All notable changes to Bijux CLI are documented here. This project adheres to Semantic Versioning and the Keep a Changelog format.
0.2.0 – 2026-01-26¶
Added¶
- Linear bootstrap flow with explicit phase boundaries and a first-class
CLIIntent - Rebuilt E2E suite with domain taxonomy, invariants, and a subprocess harness
- Nightly fuzz and stress suites under
tests/nightlywith dedicated markers - Expanded regression coverage for bootstrap paths, flags matrix, plugin loader/metadata, and real serializer roundtrips
- Benchmarks with thresholds for startup, discovery (cold/warm), config load, REPL, and help/version fast paths
- API contract gating with stricter schema validation and schemathesis checks
- Docs rebuilt into concepts/guides/reference/examples with section indexes
- API purity guard enabled in CI to prevent IO in API calls
Changed¶
- Centralized CLI policy resolution for routing, exit intent, and precedence
- Infra strictness: explicit formats/targets required; no guessing
- Plugin lifecycle contract with explicit states and early metadata validation
- Test organization aligned to
src/with merged regression suite and nightly rename - MkDocs generator and nav rebuilt to match the new docs tree
Fixed¶
- Help output routing for structured formats
- Exit-policy invariants to detect real Python tracebacks only
- API validation error payloads now JSON-encoded with stable schema
Removed¶
- Legacy root docs pages and ADR directory (decisions moved into canonical docs)
- Thin CLI core wrappers (emit/validation) consolidated
0.1.3 – 2025-08-20¶
Added¶
- ADR-0005: Zero-root-pollution via Makefile-orchestrated artifact containment (all generated outputs under
artifacts/). - Curated release assets: zipped bundles for tests (py311/py312/py313) and for lint, quality, security, api, docs, sbom, citation, build, plus consolidated checksums.
- End-to-end automation: GitHub Actions to publish to PyPI, create a GitHub Release with curated bundles, and deploy docs.
Changed¶
- Makefiles + workflows brought into full ADR-0005 compliance: CI uploads/downloads only
artifacts/**; docs deploy hydrates from CI artifacts and builds fromartifacts/docs/**.
0.1.2 – 2025-08-17¶
Added¶
- New Documentation Engine: Introduced a new modular documentation builder in
scripts/docs_builder/that replaces the previous helper script. - CI Artifact Pages: The documentation site now automatically generates detailed pages for all CI artifacts, including tests, linting, code quality, security, API tests, SBOMs, and citation files.
- Release Evidence: The
publishworkflow now downloads all artifacts from theCIrun, packages them asevidence/*.tar.gzbundles, and attaches them to the GitHub Release for traceability. - Build Hygiene: Makefiles now enforce a "hygienic" build process, ensuring all temporary files, caches, and build outputs are stored under the
artifacts/directory to prevent root directory pollution.
Changed¶
- CI/CD Overhaul:
- The
ci.ymlworkflow now uploads each category of artifact separately for better organization and downstream consumption. - The
docs.ymlworkflow now waits for the mainCIrun to complete, downloads all artifacts, and uses them to build a data-rich documentation site. - The
publish.ymlworkflow has been streamlined and made more robust, removing the optional "wait for docs" step and improving tag detection.
- The
- Documentation Content: All top-level Markdown documents (
README.md,USAGE.md,TESTS.md,TOOLING.md,CONTRIBUTING.md, etc.) have been significantly rewritten and expanded with tables of contents,back-to-toplinks, and cross-references to the new artifact pages. - Build System:
- All
Makefilemodules have been refactored to use the new hygienicartifacts/directory structure for outputs and caches. tox.inihas been updated to align with the new Makefile targets and to run a comprehensive suite of checks for thepy311environment, mirroring the full CI validation process.
- All
- API Schema: The OpenAPI
schema.yamlhas been improved with stricter validation (additionalProperties: false), better descriptions, response links, and more detailed examples. - Source Code: Refactored async handling in
src/bijux_cli/api.pyand improved type safety across multiple modules with clearer casts.
Fixed¶
- Type Safety: Resolved numerous previously ignored type errors throughout the codebase and test suite.
- API Endpoint Logic: Corrected the item update logic in
src/bijux_cli/httpapi.pyby removing a faulty check for duplicate names that was causing incorrect 409 Conflict errors. - Test Suite: Improved the stability and correctness of E2E tests by enhancing golden file comparisons and fixing brittle assertions.
0.1.1 – 2025-08-14¶
Added¶
- Publish pipeline: GitHub Actions
publish.ymlthat publishes viamake publishonly after required checks are green and a tag is present. - Project map:
PROJECT_TREE.md(anddocs/project_tree.md) with a curated overview. - Developer Tooling page:
TOOLING.md(anddocs/tooling.md) with embedded configs, Makefile snippets, and CI workflows viainclude-markdown. - Docs assets: Community landing page, Plausible analytics partial, and CSS overrides.
Changed¶
- Docs generator (
scripts/docs_builder/mkdocs_manager.py): - Copies README, USAGE, TESTS, PROJECT_TREE, and TOOLING into the site with link rewrites and
{#top}anchors. - Generates mkdocstrings pages for all modules under
src/bijux_cli/**. - Builds one consolidated API Reference with this structure:
- top: Api Module, Cli Module, Httpapi Module
- sections (collapsed by default): Commands, Contracts, Core, Infra, Services
- nested groups for command subpackages (
config/,dev/,history/,memory/,plugins/) beneath Commands.
- Emits
reference/**/index.mdto power Material’s section indexes. - MkDocs config (
mkdocs.yml): tightened plugin ordering and settings forinclude-markdown, enabled section indexes, and strict mode; added watch paths for configs and scripts. - README / USAGE: Refined copy; standardized top anchors and links to TESTS.md/PROJECT_TREE.md/TOOLING.md.
- SECURITY.md: Rewritten with clearer reporting, SLAs, scope, and safe harbor.
- Makefiles: macOS-safe env handling; Cairo-less Interrogate wrapper for doc coverage.
- Config: Expanded lints/dictionary.
Fixed¶
- Docs build (strict): resolved broken/unknown links in TOOLING.md and removed duplicate API Reference sections; left sidebar now stays populated when deep-linking into API pages.
- Tests: E2E version fixtures cleaned up.
Packaging¶
- PyPI links corrected:
project.urlsnow points to accurate Homepage/Docs/Changelog/Issues/Discussions. - Dynamic versioning from Git tags: Using
hatch-vcswithdynamic = ["version"]; annotated tags likev0.1.1define the release version.commitizentags asv$version. - Richer PyPI description:
hatch-fancy-pypi-readmerenders README.md + CHANGELOG.md on PyPI. - Wheel/Sdist layout: Explicit Hatch build config ensures
py.typed, licenses, and metadata are included.
0.1.0 – 2025-08-12¶
Added¶
-
Core runtime
- Implemented Dependency Injection kernel, REPL shell, plugin loader, telemetry hooks, and shell completion (bash/zsh/fish).
- Added core modules:
api,cli,httpapi,core/{constants,context,di,engine,enums,exceptions,paths}.
-
Contracts layer (
contracts/)- Defined protocols for
audit,config,context,docs,doctor,emitter,history,memory,observability,process,registry,retry,serializer,telemetry. - Added
py.typedmarkers for downstream type checking.
- Defined protocols for
-
Services layer
- Implemented concrete services for
audit,config,docs,doctor,history,memory. - Built plugin subsystem:
plugins/{entrypoints,groups,hooks,registry}.
- Implemented concrete services for
-
Infra layer (
infra/)- Implemented
emitter,observability,process,retry,serializer,telemetry.
- Implemented
-
Command suite
- Added top-level commands:
audit,docs,doctor,help,repl,sleep,status,version. - Added
config/commands:clear,export,get,list,load,reload,set,unset,service. - Added
dev/commands:di,list-plugins,service. - Added
history/commands:clear,service. - Added
memory/commands:clear,delete,get,list,set,service. - Added
plugins/commands:check,info,install,list,scaffold,uninstall.
- Added top-level commands:
-
Structured output & flags
- Added JSON/YAML output via
--format, pretty printing, and deterministic global flag precedence (ADR-0002).
- Added JSON/YAML output via
-
API contract validation & testing
- Automated lint/validation of
api/*.yamlwith Prance, OpenAPI Spec Validator, Redocly, and OpenAPI Generator. - Added Schemathesis contract testing against the running server.
- Pinned OpenAPI Generator CLI version via
OPENAPI_GENERATOR_VERSIONand automated Node.js toolchain setup in Makefile.
- Automated lint/validation of
-
Documentation tooling
- Integrated MkDocs (Material), mkdocstrings, literate-nav, and ADR index generation.
-
Quality & security pipeline
- Added formatting/linting:
ruff(+format). - Added typing:
mypy. - Added docs style/coverage:
pydocstyle,interrogate. - Added code health:
vulture,deptry,radon,codespell,reuse. - Added security:
bandit,pip-audit. - Added mutation testing:
mutmut,cosmic-ray.
- Added formatting/linting:
-
SBOM
- Generated CycloneDX JSON for prod/dev dependencies via
make sbom(usespip-audit).
- Generated CycloneDX JSON for prod/dev dependencies via
-
Citation
- Validated
CITATION.cffand added export to BibTeX/RIS/EndNote formats viamake citation.
- Validated
-
Makefile architecture
- Modularized the Makefile into
makefiles/*.mkfor maintainability and clear separation of concerns. - Centralized all developer workflows (
test,lint,quality,security,api,docs,build,sbom,citation,changelog,publish) in one consistent interface. - Added
bootstraptarget for idempotent virtualenv setup and Git hook installation fromscripts/git-hooks(skips re-installation if already linked). - Added
all-paralleltarget to run independent checks (quality,security,api,docs) concurrently for faster CI/CD. - Added
make helpfor self-documenting targets with grouped sections. - Provided helper macros (
run_tool,read_pyproject_version) to standardize tooling invocation.
- Modularized the Makefile into
-
tox orchestration
- Configured multi-Python test envs (
py311,py312,py313). - Mapped Makefile workflows into tox envs (
lint,quality,security,api,docs,build,sbom,changelog,citation) to ensure reproducibility. - Passed
MAKEFLAGSto execute Makefile targets inside tox-managed virtualenvs.
- Configured multi-Python test envs (
-
Continuous Integration
- Added GitHub Actions workflow running tox across Python versions with Node.js 20 and Java 17 for API checks.
- CI/CD pipelines directly leverage the modularized Makefile for consistent local/CI behavior.
-
Packaging / PyPI page
- Built dynamic long description via hatch-fancy-pypi-readme from README.md and CHANGELOG.md for PyPI/TestPyPI.
- Packaged with
LICENSES/,REUSE.toml,CITATION.cff, andpy.typedincluded in source distributions.
Changed¶
- Released initial public version.
Fixed¶
- None