Changelog
All notable changes to this project will be documented in this file.
The format follows Keep a Changelog, and this project intends to follow semantic versioning once public release gates are cleared.
[Unreleased]
Added
- Added curated verified-run artifact packs for generic
openai_compat, LM Studio headless on Linux, and MLX on macOS arm64. - Documented verified provider workflow coverage across Ollama, llama.cpp, generic OpenAI-compatible, LM Studio, and MLX local backend paths.
Changed
- Adopted a Go-install-only public launch posture: no release binaries, archives, installers, Homebrew formula, or Scoop manifest for any platform.
- Documented
go install github.com/inferctl/inferctl/cmd/inferctl@latestas the intended public install path. - Aligned active README, install, release, public-readiness, agent, and contribution docs with the v0.2.2 Apache-licensed public-readiness posture.
- Preflight clean negative readiness decisions now use exit
5instead of invocation exit1:E_PREFLIGHT_POLICY_BLOCKEDand deterministic no-route preflight results mean "do not run this task now", not "fix the invocation".
Removed
- Removed GoReleaser configuration and release-archive validation from the active release path.
- Removed non-public module installation guidance from active public installation docs.
- Moved the reusable
make-cliskill out of this repository to https://github.com/Ozhiaki/make-cli.
[0.2.1] - 2026-06-15
Added
internal/versionso tagged builds and source install validation can report a resolvedtool_versioninstead of the default development marker.
Changed
- Renamed the user-facing CLI and built binary from
infertoinferctl. - Threaded the resolved tool version through success and error JSON envelopes.
- Rewrote the README, install guide, and release workflow around a source-first evaluation posture rather than public launch instructions.
- Switched GitHub Actions verification to manual dispatch only to avoid automatic remote runs during cleanup work.
- Updated demo scripts to call the existing
infer-testserverhelper correctly after the CLI rename.
Removed
- Active Scoop manifest support from the release path.
- Windows installer packaging from the release path.
Notes
v0.2.1is a source-first cleanup release, not a public launch.- GoReleaser remains in place for snapshot validation only.
- Windows remains source-build only in this release.
[0.2.0] - 2026-06-13
Added
- Config mutation verbs:
infer config init,infer config set, andinfer config patch, including--path,--force,--print,--dry-run,--type, and--from-stdinworkflows. infer discoverfor fixed localhost backend probes, with--formattext|json|toml,--kind,--timeout-ms, and--deliver.infer triagefor deterministic ranking of config validation findings, doctor warnings, and prior JSON envelopes, with--input-file,--backend,--severity, and--limit.- Backend kind coverage for LM Studio and MLX alongside Ollama, llama.cpp, and OpenAI-compatible endpoints.
- Authenticated and remote
openai_compatconfiguration throughremote_allowed,auth_header_name, and redactedauth_header_value. - Agent-facing documentation in
docs/agent-guide.md, generated verb and error catalogs, and installation guidance indocs/install.md. - GoReleaser packaging for Linux, macOS, and Windows archives, plus Scoop manifest generation and a Windows Scoop smoke test.
Changed
infer capabilities --jsonnow advertises install docs, source-only example packaging status, v0.2 backend kinds, new verbs, and generated schemas for config mutation, discovery, and triage.- Release archives now include README, changelog, license notice, install
docs, agent guide, verb docs, error docs, and contract README while
intentionally excluding source-only
examples/scripts. - CI now validates Windows line endings, snapshot archive contents, and the Windows release install path through a local Scoop manifest smoke test.
- Config writes are validated before replacement and use atomic temp-file replacement for non-dry-run mutations.
Error Codes
- Added
E_CONFIG_WRITE_FAILEDfor failed atomic config writes. - Added
E_CONFIG_PATCH_DELETE_UNSUPPORTEDfor unsupported TOML deletion patches. - Added
E_BACKEND_AUTH_FAILEDfor missing or rejected backend credentials. - Added
E_BACKEND_REMOTE_NOT_ALLOWEDfor remote OpenAI-compatible endpoints withoutremote_allowed = true.
Compatibility
- v0.1 JSON envelope structure and existing verb shapes remain compatible.
- New v0.2 verb outputs are golden-pinned under
testdata/contract/. triagerankings are deterministic and do not run discovery inline.- Examples remain source-checkout artifacts for v0.2 rather than packaged release payloads.
[0.1.0] - 2026-06-10
Added
- Agent-oriented JSON envelope rendering with deterministic test mode.
- Read-only backend adapters for Ollama, llama.cpp, and OpenAI-compatible
/v1/modelsendpoints. infer capabilities,doctor,backends,models,model,route,config show,config validate,config explain, andversion.- Stable v0.1 error and warning catalog with structured
did_you_mean, retryability, and exit-code metadata. - Deterministic fixture server and three repo-local demo scripts.
- Contract goldens, CI workflow, and GoReleaser snapshot configuration.
Known Limits
- v0.1 does not run inference, warm models, release models, or collect latency observations; route latency fields remain null/zero by design.
- Authenticated and remote OpenAI-compatible backends are deferred.
- Human output is intentionally readable but not byte-for-byte stable.
- License status was not finalized for public distribution.
Deferred
- v0.2: config mutation helpers and authenticated remote backend support.
- v0.5: warmup, release, wait, locks, stats collection, and richer routing policy controls.