-
Notifications
You must be signed in to change notification settings - Fork 1
Closed Sep 10, 2026
Due by August 29, 2026
•Closed Compatible pre-1.0 patch release: lifecycle hardening, security fixes, versioned machine-readable contracts, and adoption tooling after 0.4.2. No new public API or JSON-contract compatibility boundary; existing Click and Typer command trees remain supported. Released 2026-08-29. All 34 tracked issues resolved.
- Dependency & compatibility windows (#189, #237): bounded core Click and PyYAML dependency windows with a published tested matrix and update policy; Click 8.1-8.4 validated on the supported Python floor and ceiling, unvalidated 8.5+ rejected through package metadata.
- Optional YAML extra (#190): PyYAML moved behind the optional base-cli[yaml] extra with an actionable installation hint when YAML configuration or output is selected.
- Async & streaming output (#191, #192): explicit App.async_command() adapter and run_async() helper for deterministic async callbacks; versioned NDJSON output with typed, flush-per-record writer protocols.
- Extension SDK (#193): typed extension callback protocols, entry-point capability metadata, and pre-load API-version negotiation.
- Structural refactor (#180): app.py decomposed behind a compatibility facade into focused core, lifecycle-installation, attachment, and invocation-runner modules with no change to the public import surface.
- Security (#211, #220, #223): recognized secret keys redacted in query strings, comma-separated values, and header-style key:value arguments before logs or history; complete delimiter-bearing secret values redacted; terminal control and bidi characters stripped from output.
- Correctness (#177, #206, #208, #210, #212, #213, #221, #222, #224, #225): dead JSON-only retention branch removed; interrupt diagnostics persisted to primary.log; interrupted runs classified as aborted in history; history directory and append-only writes brought under the package's file/directory hardening; pre-parse JSON detection follows Click option grammar and honors explicit --no-json; malformed third-party entry-point metadata isolated so one bad extension cannot break discovery; CommandSchemaRegistry lookups no longer mutate schemas; framing-breaking custom command-protocol headers rejected; mixed testing.invoke calls serialized around cwd changes.
- Machine contracts & fixtures (#194, #240, #241): generated public API reference with a strict CI drift check; versioned JSON Schema artifacts for output, error, inspection, log, NDJSON, and command-protocol contracts; golden success/error/inspection/log/NDJSON/protocol fixtures with Python and Node.js validators.
- Release integrity (#195, #239): deterministic SPDX SBOMs, artifact checksums, and OIDC-backed GitHub attestations on protected release workflows; automated GitHub Releases from matching version tags.
- Adoption & docs (#188, #196, #226, #236, #245, #247): production-lifecycle positioning with a framework choice guide and five-minute evaluation path; permissioned-adopter evidence policy with dated compatibility-run artifacts; internal implementation plans kept out of the published site; README, docs, and package metadata aligned around discovery keywords; migration guides for Click, Typer, Cement, and argparse; generated dependency and platform compatibility dashboard.
- CI & coverage (#235, #246): enforced changelog and release-note quality; branch-aware coverage reporting with documented floors for lifecycle, filesystem, compatibility, history, and contract modules.
- Release (#234): base-cli 0.4.3 with post-0.4.2 hardening.
100% complete
List view
0 of 0 selected 0 issues of 0 selected
There are no open issues in this milestone
Add issues to milestones to help organize your work for a particular release or project. Find and add issues with no milestones in this repo.