0.59.1 - 2026-08-08
Release Notes
Added
- An endpoint records the host it is reachable through (C-709).
EndpointRefrecorded url,
product, credential_ref and labels and nothing about locality, so a ClusterIP endpoint looked
identical to a public one — a cluster-internal name is meaningless on a laptop and exactly right
inside the cluster, and the record could not tell the two apart.EndpointRefgains
host: Option<String>, the[[host]]binding id the endpoint is reachable through; absent means
"reachable from wherever the caller is", which is every endpoint declared before this field
existed, so the wire and store forms skip the key and old records read back unchanged.
[[endpoint.static]]may declarehost = "k8s-dev",flux endpoint addtakes--host, and
list/show/resolverender it —resolvenow answers "from where" alongside the credential
location it already answered "as whom" with. Naming an undeclared binding is a load-time error
naming the endpoint, the binding and the ones that do exist, not a dial-time surprise: malformed
entries stay warn-and-skip, but this one is fatal because skipping it would leave the endpoint
reachable-from-anywhere, so a typo'd binding name would silently widen where it is dialled
from.StaticResolvercarries the session's selected binding and refuses a host-bound endpoint
from any other position, naming both, before any credential is materialized. An unbound endpoint
resolves exactly as before.
Fixed
-
A tag build that publishes nothing is now red (C-719). v0.59.0 was tagged and its Release
workflow reported success while creating no Release at all: no binaries, no attestation, no
image, no announcement. GitHub propagatesskippedtransitively throughneeds, so the chain
has to be broken at every hop rather than only the first —hostalready broke it with
always(), but the jobs below did not, so a correctly skippedbuild-local-artifactsflowed
through a successfulhostand took attest, publish-github-release and publish-container-image
with it. Those three now usealways()and assert their upstreams actually succeeded, which
admits a transitively-skipped graph but never a failed or skipped dependency, and
verify-publishedfails the run when the ref was publishing and no Release was created. -
The plugins workspace resolves against flux-evidence 1.2.0 again (C-719). The release bump
movedcodewandler-flux-evidenceto 1.2.0 whileplugins/Cargo.lockstill pinned 1.1.0, so every
job that resolves that workspace with--lockedrefused outright. That took down three CI jobs at
once — the plugins workspace fetch, andplugin_builds_exclude_host_only_cratesin both the
sandboxed and unsandboxed test jobs, which resolve the same workspace. -
codewandler-flux-evidencemoves to 1.2.0 so its published API matches its users (C-143).
crates.io publication of 0.59.0 stopped atcodewandler-flux-flow, which references
flux_evidence::KIND_BUDGET_PROJECTION— a constant that exists in this workspace but not in the
published flux-evidence 1.1.0. The constant predates v0.58.0, so the release-tag comparison never
flagged it: a protocol-line crate can drift from its published self without any diff against the
last release showing it. Already-published crates are skipped on re-run, so the remaining closure
resumes from this fix.
flux-cli 0.59.1
Install flux-cli 0.59.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/codewandler/flux/releases/download/v0.59.1/flux-cli-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/codewandler/flux/releases/download/v0.59.1/flux-cli-installer.ps1 | iex"Download flux-cli 0.59.1
| File | Platform | Checksum |
|---|---|---|
| flux-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| flux-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| flux-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| flux-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| flux-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
codewandler-flux-lsp 0.59.1
Install codewandler-flux-lsp 0.59.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/codewandler/flux/releases/download/v0.59.1/codewandler-flux-lsp-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/codewandler/flux/releases/download/v0.59.1/codewandler-flux-lsp-installer.ps1 | iex"Download codewandler-flux-lsp 0.59.1
| File | Platform | Checksum |
|---|---|---|
| codewandler-flux-lsp-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| codewandler-flux-lsp-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| codewandler-flux-lsp-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| codewandler-flux-lsp-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| codewandler-flux-lsp-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |