Skip to content

RELEASE.2026-08-06T00-00-00Z

Latest

Choose a tag to compare

SILO 20260806 is the first release published under the Silo name. The previous release, 20260804, was the last one delivered as pgsty/minio; this release completes the cutover to github.com/pgsty/silo and renames every delivery surface — binary, packages, container images, systemd unit, Helm chart — while deliberately preserving every wire and configuration surface a MinIO deployment depends on. On top of the rename it adds native health checking (silo healthcheck), a distroless container image pilot, complete license-compliance materials in every artifact, and a release pipeline gated on compatibility snapshots and build provenance.

25 commits after RELEASE.2026-08-04T00-00-00Z (394 files, +26,895/−19,558). Passed a six-phase pre-release acceptance, including a real four-node TLS cluster migration from MinIO to Silo — byte-verified data integrity, maintenance-gated rolling restarts, fault injection, and a full rollback rehearsal.

Full Release Notes · 中文发布说明

Highlights

  • The rebrand is complete, and compatibility is the contract — repository, binary (/usr/bin/silo), packages (silo rpm/deb/apk), images (docker.io/pgsty/silo), and service (silo.service) are renamed; the S3 and admin APIs, /minio/* routes, MINIO_* environment variables, x-minio-* headers, on-disk .minio.sys format, and Go module paths are all preserved and frozen by a CI compatibility guard.
  • Native health checkingsilo healthcheck [live|ready|cluster|cluster-read] probes the server's own health API with correct exit codes, decoded quorum diagnostics, TLS auto-detection, and a --maintenance pre-drain gate — no shell, curl, or mc required in the container.
  • Distroless image pilotpgsty/silo:RELEASE.2026-08-06T00-00-00Z-distroless ships exactly one program on gcr.io/distroless/static (128 MB vs. the classic 199 MB), with an exec-form HEALTHCHECK baked in and /data created writable in the image layer (fixes #55 in this variant).
  • The classic image does not change behavior — same entrypoint, same bundled tools, mc ready local keeps working; it now bundles mcli 20260806 (with the mc compatibility alias), and docker run pgsty/silo minio server /data still works.
  • Compliance completed — LICENSE and NOTICE ship in every package and image, CREDITS is regenerated from the actually-linked module set (291 modules) and guarded in CI, and the project adopts a no-CLA, DCO-based contribution policy.
  • Components — SILO Console 2.1.1 · silo-pkg 3.11.0 · mcli 20260806 · Go 1.26.5.
console

Migration

silo.service is built for takeover: it conflicts with and supersedes minio.service, and reads /etc/default/minio before /etc/default/silo, so an existing MinIO configuration is inherited without edits. Keep data ownership stable with the documented legacy-user drop-in.

Warning

Distributed migrations must switch all nodes together. A mixed Silo/MinIO cluster does not form — new nodes wait in activating indefinitely. Stop MinIO on all nodes, then start Silo on all nodes near-simultaneously. Once every node runs Silo, gate each rolling restart with silo healthcheck --maintenance cluster.

See the migration section of the full notes for the verified procedure, TLS/certificate troubleshooting, and the rollback path.

Artifacts

  • Checksummed platform archives for Linux, Darwin, and Windows on amd64 and arm64, each with an SPDX SBOM.
  • RPM, DEB, and APK packages under the PGSTY identity. RPMs are GPG-signed with the maintainer key (fingerprint 9592A7BC 7A682E73 33376E09 E7935D8D B9BD8B20); verify them via rpmkeys --checksig and their per-file .sha256sum (regenerated after signing). DEB/APK trust is anchored at the repository layer.
  • Sigstore-signed checksum manifests and a build-provenance bundle (silo_*_provenance.sigstore.json); release artifacts carry GitHub Attestations — gh attestation verify --repo pgsty/silo <file>.
  • docker.io/pgsty/silo:RELEASE.2026-08-06T00-00-00Z and the -distroless variant are built only from this release's checksum- and attestation-verified archives.

govulncheck reports no vulnerability reachable from the server code (VulnCheck CI green on the released commit).

Acknowledgments

Four contributors have code merged into this fork, and the Git history carries their authorship: @ZouhairCharef patched CVE-2026-34986 in go-jose (#18), @mfredenhagen patched CVE-2026-39883 in OpenTelemetry (#19), @pinginfo implemented Flush on trackingResponseWriter to repair bucket notification streaming (#34), and @waterkip repointed the documentation links to the Silo portal (#41).

A first release under a new name is also the right moment to thank everyone who has filed issues against this fork — bug reports, compatibility findings, and proposals alike, resolved and still open: @mosesdd (#1), @Xavier-777 (#2, #17), @jiadzh (#3), @TLINDEN (#4), @AntonOfTheWoods (#5), @zylpsrs (#6), @nsanitate (#7), @makinikm (#9), @magicxor (#10), @spaceg00se-r (#11, #14), @heroes1412 (#13), @vampywiz17 (#15), @davinkevin (#20), @chalukyaj (#30), @cbornet (#31, #32), @jvasile (#33), @Kesavaambati (#35), @redfoxfox (#38), @kuldeep-link11 (#39, #40), @meesudzu (#42), @pmezhuev (#43), @kh0mka (#51).

Several of this release's headline items trace straight back to those reports: the bundled-client guarantee (#4, #9), the LDAP-over-TLS repair (#15), the completed package payload (#33), GPG-signed RPMs (#43), the migration guide (#42), and the distroless /data fix (#55).

Special thanks to @davinkevin, whose distroless image PR (#21) anticipated this release's pilot months in advance — the shipped variant supersedes it with the native health check built in, but the direction was proposed there first. Conformance PRs from @magicxor (#12) and @ycjlin (#37) are queued for review immediately after this release.

Everyone who has contributed to this fork is recorded in CONTRIBUTORS.md, which is now the project's attribution record — GitHub generates no contributor graph for forks.