From 45d6e5d065f675075f3b2256516cc7ad6453313c Mon Sep 17 00:00:00 2001 From: Feng Ruohang Date: Sun, 25 Oct 2026 23:44:14 +0800 Subject: [PATCH] release: prepare SILO 20261025 with the published component stack Signed-off-by: Feng Ruohang --- .github/workflows/go.yml | 5 +++++ CHANGELOG.md | 24 +++++++++++++++++++++--- Dockerfile.goreleaser | 6 +++--- README.md | 11 ++++++----- README_ZH.md | 10 ++++++---- buildscripts/install-mcli.sh | 2 +- go.mod | 2 +- go.sum | 4 ++-- helm/silo/values.yaml | 2 +- 9 files changed, 46 insertions(+), 20 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 1c5f5295d..466542492 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -118,6 +118,11 @@ jobs: MINIO_API_REQUESTS_MAX: "10000" run: go test -race -tags kqueue,dev ./cmd -run '^Test(APIPutObjectRetention|APIVersionAddressedWrite|PutObjectRetention|DirectoryObjectLock|ObjectLockOverwrite|APICopyObjectPreservesVersionAfterSuspension|MultipartNullObjectLock|PoolsObjectLockOverwrite|MultipartVersioningTransitions|PlanReview|RecoveredMultipartUpload)' -count=1 -timeout=5m + - name: Run maintenance write, rollback and cleanup tests under race detector + env: + MINIO_API_REQUESTS_MAX: "10000" + run: go test -race -tags kqueue,dev ./cmd ./internal/grid ./internal/ioutil -run '^Test(Mutation|RenameCancellation|PutObjectGenerationFollowsCommitLock|MaintenancePartialFailedOverwriteAvailability|SingleMutationWaitsBeyondDefaultTimeout|WithoutDefaultTimeoutStillEndsOnDisconnectOrCancellation|WithDeadlineAndWait)' -count=1 -timeout=5m + crosscompile: name: Cross Compile runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index efd5623bf..2c94252df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # Changelog -## Unreleased +## RELEASE.2026-10-25T00-00-00Z + +Package version: `20261025000000.0.0`. This source is prepared for a Draft +Release; public Server artifacts and images remain at 20261018 until promotion. - Fix LDAP login for long normalized DNs without hiding unreadable IAM revocation records. Only length errors for valid keys with an ASCII path @@ -11,9 +14,10 @@ Go dependencies, including silo-pkg v3.15.1, the published mcli 20261025 source and upstream minio-go `ab93db7ba435` for multipart, read/seek and batch-delete fixes. Retain output-format and NetBSD compatibility selections. -- Embed the unreleased Console 2.5.0 candidate `258717be077b`, including its +- Embed the published Console v2.5.0 source `989fa7150792`, including its GUI update, diagnostic WebSocket closing handshake and complete health-report - decoding. This selects a source commit, not a new Console release. + decoding. Bundle published mcli 20261025 in container builds and select it + for the verified client installer and Helm client jobs. - Read current bucket inventory in account-info responses so Console refreshes immediately reflect successful creation and deletion. This management endpoint now performs a live list instead of returning a cached inventory. @@ -23,10 +27,24 @@ custom-policy deletion behavior; storage failures retain the previous policy. - Preserve Kafka's default broker protocol 2.1 and terminal-width behavior; fix legacy DARE v1 key unsealing and verify DARE v1/v2 and MinKMS TLS compatibility. +- Wait for admitted storage mutations to finish before releasing local guards, + deciding rollback or cleaning staging data. Rollback verifies ownership and + restores only its overwritten version, preserving later writes and metadata + edits. Abandoned-data cleanup retains backups still needed by commit/undo. + Generate PUT timestamps under the commit lock. Keep the prior read-quorum + and healing policy, including readability after a failed partial overwrite. - Update bundled curl to 8.23.0 and require patched static libraries. Apply [Red Hat's compromised-CA mitigation](https://access.redhat.com/security/vulnerabilities/RHSB-2026-012); the root blocklist also rejects legitimate chains under the affected roots. +Storage limits remain: this does not provide distributed fencing after lease +loss or network partition, eliminate stale reads after partial metadata writes, +or repair previously inconsistent objects. Stricter read refusal and additional +cross-pool recovery remain deferred; their diagnostic tests are retained under +`consistency_strict`. Waiting for admitted I/O can extend same-object waits on +a stuck drive, and interrupted cleanup can retain rollback backups. Upgrade all +writers before relying on the new rollback ownership checks. + These source changes are not included in the published 20261018 artifacts. ## RELEASE.2026-10-18T00-00-00Z diff --git a/Dockerfile.goreleaser b/Dockerfile.goreleaser index 349db7894..7bb4bad49 100644 --- a/Dockerfile.goreleaser +++ b/Dockerfile.goreleaser @@ -17,9 +17,9 @@ ENV GOPATH=/go ENV CGO_ENABLED=0 ARG MC_REPO=pgsty/mc -ARG MC_VERSION=RELEASE.2026-10-18T00-00-00Z -ARG MC_AMD64_SHA256=b5392a642dbc9685b517ee901f032d1d5e88f41704436f0f08dde6060b577db3 -ARG MC_ARM64_SHA256=17f3eb694ed34e155b331b1215832140749656d8d4b60e2e3a4d0573b8f320d7 +ARG MC_VERSION=RELEASE.2026-10-25T00-00-00Z +ARG MC_AMD64_SHA256=54bd131039dad6677f083a75207b28f82818c067c8e65fae1973f51510d268e1 +ARG MC_ARM64_SHA256=9bb294f1912f8c6b9ac08c9a0b8d2964b86306a7c440b987ee5f0570d18de3c5 RUN apk add -U --no-cache \ ca-certificates \ diff --git a/README.md b/README.md index 24c710875..e05f8387c 100644 --- a/README.md +++ b/README.md @@ -43,11 +43,12 @@ This release strengthens Object Lock and IAM authorization, makes scoped STS rev Read the [release notes](https://github.com/pgsty/silo/releases/tag/RELEASE.2026-10-18T00-00-00Z) before upgrading, especially the removal of strict multipart listing, coordinated server upgrades, and measured performance costs. See [CONTRIBUTORS.md](CONTRIBUTORS.md) for the people behind the code, reports, and documentation. -Current source is unreleased: Go 1.27.3, silo-pkg v3.15.1, mcli 20261025, -upstream minio-go `ab93db7ba435`, and the Console 2.5.0 candidate `258717be077b`. -It includes the Server IAM cache repair needed by Console's **Reset to default** -action. See [CHANGELOG.md](CHANGELOG.md#unreleased); the published artifacts above -retain their original component versions. +The 20261025 source is prepared for a Draft Release with Go 1.27.3, +silo-pkg v3.15.1, released mcli 20261025, Console v2.5.0 (`989fa7150792`), +and upstream minio-go `ab93db7ba435`. It includes the Server IAM cache repair +needed by Console's **Reset to default** action and bounded write/rollback/cleanup +repairs. Read the [changes and remaining storage limits](CHANGELOG.md#release2026-10-25t00-00-00z). +The published artifacts above retain their original component versions. ## Overview diff --git a/README_ZH.md b/README_ZH.md index 525bbf8aa..97a38d30b 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -43,10 +43,12 @@ 升级前请阅读[发行说明](https://github.com/pgsty/silo/releases/tag/RELEASE.2026-10-18T00-00-00Z),特别是 strict 分片列表的移除、服务端协调升级要求与实测性能成本。代码、问题报告和文档贡献者见 [CONTRIBUTORS.md](CONTRIBUTORS.md)。 -当前源码尚未发布:使用 Go 1.27.3、silo-pkg v3.15.1、mcli 20261025、上游 -minio-go `ab93db7ba435`,并内嵌 Console 2.5.0 候选提交 `258717be077b`。 -其中包含 Console **Reset to default(恢复默认)** 所需的 Server IAM 缓存修复。 -详见 [CHANGELOG.md](CHANGELOG.md#unreleased);上述已发布制品仍保留原有组件版本。 +20261025 源码正在准备 Draft Release:使用 Go 1.27.3、silo-pkg v3.15.1、 +已发布的 mcli 20261025、Console v2.5.0(`989fa7150792`)与上游 minio-go +`ab93db7ba435`。其中包含 Console **Reset to default(恢复默认)** 所需的 +Server IAM 缓存修复,以及限定范围的写入、回滚与清理修复。 +请阅读[变更与仍存的存储限制](CHANGELOG.md#release2026-10-25t00-00-00z); +上述已发布制品仍保留原有组件版本。 ## 概述 diff --git a/buildscripts/install-mcli.sh b/buildscripts/install-mcli.sh index 7fdc22023..c7bdf91b4 100755 --- a/buildscripts/install-mcli.sh +++ b/buildscripts/install-mcli.sh @@ -40,7 +40,7 @@ if [ -n "${MCLI_BIN:-}" ]; then exit 0 fi -release=${MCLI_RELEASE:-RELEASE.2026-10-18T00-00-00Z} +release=${MCLI_RELEASE:-RELEASE.2026-10-25T00-00-00Z} version_hyphen=${release#RELEASE.} package_version=$(printf '%s\n' "${version_hyphen}" | sed -E 's/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2})-([0-9]{2})-([0-9]{2})Z$/\1\2\3\4\5\6.0.0/') if [ "${package_version}" = "${version_hyphen}" ]; then diff --git a/go.mod b/go.mod index ca92e0fe9..1a6f6d4d6 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.27.3 // Console and MC retain their historical module paths for best-effort upstream // compatibility. Pin the maintained PGSTY implementations used by SILO. -replace github.com/minio/console => github.com/pgsty/silo-console v0.0.0-20261025140954-258717be077b +replace github.com/minio/console => github.com/pgsty/silo-console v0.0.0-20261025145732-989fa7150792 replace github.com/minio/mc => github.com/pgsty/mc v0.0.0-20261025104502-dcc78d506f94 diff --git a/go.sum b/go.sum index 994ee5543..2c4969e46 100644 --- a/go.sum +++ b/go.sum @@ -508,8 +508,8 @@ github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwp github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pgsty/mc v0.0.0-20261025104502-dcc78d506f94 h1:M5n0rCPOTyo3RiQBeSCQW/klx08efFpiVYmPq6eoM3w= github.com/pgsty/mc v0.0.0-20261025104502-dcc78d506f94/go.mod h1:H3Uwlm1Qj3kPsbmojhNnv3aj5a+QdjdTKwv4w4gMSF8= -github.com/pgsty/silo-console v0.0.0-20261025140954-258717be077b h1:/RQ+D5TRP8/GGZaY5cbwIixd1RFE0eQjEVLBpIl3+8k= -github.com/pgsty/silo-console v0.0.0-20261025140954-258717be077b/go.mod h1:fMxNcVxan3mu9mc7HCRiczSyQoFrbZEGumEmpatxtds= +github.com/pgsty/silo-console v0.0.0-20261025145732-989fa7150792 h1:wPnltE28wxotYQIKeg5OykplBcrhaWeTnWRxbYXOTtQ= +github.com/pgsty/silo-console v0.0.0-20261025145732-989fa7150792/go.mod h1:fMxNcVxan3mu9mc7HCRiczSyQoFrbZEGumEmpatxtds= github.com/pgsty/silo-pkg/v3 v3.15.1 h1:T5rqY3HR1WGybcjnx/ghBvliEgo7yNCA7JAC3f1LpTk= github.com/pgsty/silo-pkg/v3 v3.15.1/go.mod h1:GmTF6fIEkTrzgM+ysWWfDZIlVRD2DYAJkKjA5bjiWpQ= github.com/philhofer/fwd v1.2.1 h1:UtpS73q8bFgy/yH3gCq8LSNvj5gv/FowNOiWZa7uKwQ= diff --git a/helm/silo/values.yaml b/helm/silo/values.yaml index 6863805e3..c276dc3a3 100644 --- a/helm/silo/values.yaml +++ b/helm/silo/values.yaml @@ -25,7 +25,7 @@ imagePullSecrets: [] ## mcImage: repository: pgsty/mc - tag: RELEASE.2026-10-18T00-00-00Z + tag: RELEASE.2026-10-25T00-00-00Z pullPolicy: IfNotPresent ## Silo mode, i.e. standalone or distributed.