Releases: ymedlop/kuberoutectl
Release list
Development snapshot
v1.1.1
A documentation-accuracy patch. No runtime behaviour changed — every command,
flag, and MCP tool works exactly as in 1.1.0. What changed is that the help text
now tells the truth about which providers you can pass.
Fixed
-
target list --provideradvertised only two of the four providers.
kuberoutectl target list --helpsaidfilter by provider (azure|aws)while
gcpandkubeconfigwere registered and the filter accepted them — it passes
the value straight through, there was never a whitelist. Only the text was
wrong, which is why nothing failed when it drifted. It was stale in two places:
the flag usage and the command's long description. (#104)The list is now derived from the provider registry instead of written by hand,
so it cannot go stale again, and a test asserts every registered provider
appears in the help of bothtarget listandcredential list.Note the ordering is now alphabetical (
aws|azure|gcp|kubeconfig), since it
comes from the registry's sorted listing.
Added
- A regression guard for the MCP tools'
providerjsonschema descriptions,
which carried the same hand-written provider list. They were already accurate —
nothing was broken — but nothing tied them to the registry. Struct tags are
compile-time constants and cannot be derived, so a test now reads them by
reflection and requires the listed ids to match the registry exactly. No schema
or tool behaviour changed. (#105)
Verified
- Reproducible builds confirmed for this tag — two consecutive
make snapshotruns produced an identicaldist/checksums.txt, covering the
archives and the.deb/.rpmpackages. This check was skipped for v1.1.0;
from this release onward it runs before the tag is pushed. - Unit tests,
make check, andscripts/e2e.shgreen on the tagged commit
(cb6ec00) viaci.ymlonmain. - The published
linux_arm64artifact was downloaded, checksum-verified, and
run: it reports1.1.1 (commit cb6ec00), andtarget list --helpshows all
four providers.
Not verified
- No third-party MCP client (Claude Desktop and friends) is exercised by the
test suite. The stdio protocol itself is verified end to end against the
shipped binary, but a real client integration is not. - No provider tool runs against a real cloud account — provider flows are
fixture-driven with fakeaz/aws/gcloud/kubectl.
Full changelog: https://github.com/ymedlop/kuberoutectl/blob/main/CHANGELOG.md
v1.1.0
The first feature release after 1.0.0. Everything here is additive — no
existing command changes its shape, so upgrading is a drop-in replacement.
Added
kuberoutectl mcp— an optional Model Context Protocol
server over stdio, so an MCP-capable AI client can drive the safe core of the
inventory (list targets, inspect credential health, manage collections). Opt-in:
nothing runs unless you start it.--read-onlyexposes the inspection tools
only. (#98, closes #44)--verbose/-v(global) — traces every external CLI invocation, its exit
code, and its stderr on failure. Turns "discovery found nothing" from a guess
into something you can read. (#99)- A generated command reference on the docs site, produced from the Cobra
command tree so it cannot drift from the binary. (#94)
Fixed
- AWS: modern
sso_sessionprofiles are now recognised as SSO. A profile
using thesso_sessionform (rather than the legacy inlinesso_start_url) was
classified asunknownhealth with no suggested action; it is now reported as
expiredwith a renew action, soaws sso loginis actually offered. (#101) - AWS: expired-token diagnostic. A failed identity check now says the token
has likely expired and names the exactaws sso login --profile <name>to run,
instead of silently yielding zero clusters. (#99)
Changed
- Snapshot builds publish fixed-name macOS archives, so the rolling Homebrew cask
fordevelopmentkeeps working across snapshots. Stable releases unaffected. (#100)
Verified
- Unit tests,
make check, andscripts/e2e.shgreen on the tagged commit
(c8b84cd) viaci.ymlonmain. - The published
linux_arm64artifact was downloaded, checksum-verified
againstchecksums.txt, and exercised directly: it reports
1.1.0 (commit c8b84cd), and answers a real MCP stdio handshake
(initialize→notifications/initialized→tools/list), with--read-only
correctly withholding the write tools.
Not verified
-
Build reproducibility was not checked when this tag was cut — the two-run
make snapshotdiff was skipped at release time. It was run afterwards, on
2026-07-26, and passed: two consecutive snapshot builds produced an
identicaldist/checksums.txt, covering the archives and the.deb/.rpm
packages.That run was made on the
developmentbranch, not on this tag's commit
(c8b84cd), so it is not a direct verification of these artifacts. It does
exercise the same build configuration —mod_timestamp+
SOURCE_DATE_EPOCH, unchanged between the two points — so the reproducibility
guarantee inRELEASING.mdis supported for this release, just indirectly.
From v1.1.1 onward the check runs before the tag. -
No third-party MCP client (Claude Desktop and friends) is exercised by the
test suite. The stdio protocol itself is verified end to end against the
shipped binary, but a real client integration is not. -
No provider tool runs against a real cloud account — provider flows are
fixture-driven with fakeaz/aws/gcloud/kubectl.
Full changelog: https://github.com/ymedlop/kuberoutectl/blob/main/CHANGELOG.md
v1.0.0
What's Changed
- Milestone 1: Azure + AWS providers, labels, collections, snapshot builds by @ymedlop in #1
- Fix snapshot release: publish pre-release so the tag is created by @ymedlop in #2
- Fix GoReleaser snapshot: don't parse the non-semver tag as semver by @ymedlop in #3
- Add macOS arm64 (Apple Silicon) to the release build matrix by @ymedlop in #4
- Show discovery progress during sync by @ymedlop in #5
- Make target use fetch credentials into kubeconfig by @ymedlop in #6
- Add aws sso populate: generate profiles from IAM Identity Center by @ymedlop in #7
- docs: per-provider guides (Azure/AWS) + CodeQL on development by @ymedlop in #8
- feat(target): short aliases, ref resolution, and list filters by @ymedlop in #9
- feat(kubeconfig): add kubeconfig provider (clusters/users/contexts) by @ymedlop in #10
- feat(gcp): add GCP provider (projects/GKE) via gcloud by @ymedlop in #11
- docs: rewrite CLAUDE.md as a behavioral contract by @ymedlop in #13
- feat: review quick wins — PR CI, credential --provider, kuberoutectl current by @ymedlop in #12
- chore(ai): skills with real gotchas, .spartan/build.yaml, on-demand authoring rules by @ymedlop in #14
- Implement Azure, AWS, GCP providers and enhance CLI functionality by @ymedlop in #15
- Implement Azure, AWS, and GCP providers with CLI enhancements by @ymedlop in #16
- docs: publish docs/ as a Just-the-Docs GitHub Pages site by @ymedlop in #17
- GH Pages Improvement by @ymedlop in #18
- release: promote development to main (Pages docs site + providers) by @ymedlop in #19
- Enhance GitHub Pages site and add multi-provider support by @ymedlop in #20
- Enhance GitHub Pages site and add multi-provider support (#20) by @ymedlop in #21
- docs: fix unstyled provider/guides pages (default theme layout) by @ymedlop in #22
- docs+release: install docs for snapshot binary + Linux/Windows arm64 by @ymedlop in #23
- chore: sync development from main (docs layout fix) by @ymedlop in #24
- docs: publish install guide + styled docs site to main by @ymedlop in #25
- docs(todo): backlog AWS Organizations account discovery by @ymedlop in #26
- feat(cli): consolidate command surface (inventory/setup groups, clusters alias, drop aws root) by @ymedlop in #27
- docs: auto light/dark theme for the Pages site (prefers-color-scheme) by @ymedlop in #28
- Promote development to main: consolidated CLI docs + dark theme by @ymedlop in #29
- feat(cli): hide the completion command from help (still functional) by @ymedlop in #30
- feat(cli): make --version match the version subcommand (commit + date) by @ymedlop in #31
- docs: labels & collections workflow (README + docs site) by @ymedlop in #32
- Promote development to main: completion hide, --version alignment, collections docs by @ymedlop in #33
- fix(sync): suppress kubeconfig targets duplicating natively-synced clusters (#34) by @ymedlop in #51
- feat(target): delete and clear targets from the local cache (#35) by @ymedlop in #52
- feat(target): persistent hide/unhide with selector visibility (#35) by @ymedlop in #53
- feat(target): Kubernetes server version metadata (#36) by @ymedlop in #54
- feat(release): stable tagged-release baseline (#45) by @ymedlop in #55
- docs: document target visibility + cache curation; surface organizing guide by @ymedlop in #56
- chore: reconcile main into development (unblock promote) by @ymedlop in #58
- Promote development to main: target management, K8s version, release baseline, docs by @ymedlop in #57
- docs(site): polish landing hero and fix dark code legibility by @ymedlop in #59
- Polish landing page hero and improve code legibility by @ymedlop in #60
- feat(release): Homebrew cask distribution via GoReleaser tap (#46) by @ymedlop in #61
- feat(release): Scoop (Windows) + deb/rpm/apk (Linux) package distribution (#47, #48) by @ymedlop in #62
- docs: install-method guidance, version verification, troubleshooting (#49) by @ymedlop in #63
- chore: reconcile main into development (converge branches) by @ymedlop in #65
- Promote development to main: package distribution (Homebrew/Scoop/nfpm) + install docs by @ymedlop in #64
- Promote development to main: 1.0.0 readiness (reproducible builds + stable-release docs) by @ymedlop in #67
Full Changelog: https://github.com/ymedlop/kuberoutectl/commits/v1.0.0