Skip to content

Commit 35d92d2

Browse files
authored
Merge pull request #55 from pgsty/codex/docs-current-state-20260913
docs: align release notes and current component status
2 parents 449c185 + 88eb774 commit 35d92d2

8 files changed

Lines changed: 66 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
## Unreleased
44

5+
As of 2026-09-13, the latest published version remains
6+
[v2.4.0](https://github.com/pgsty/silo-console/releases/tag/v2.4.0).
7+
The changes below are on main and selected by Server main; they are not in
8+
that release or the embedded Console of Server 20260903. The
9+
[component matrix](https://silo.pgsty.com/compatibility/versions/) records exact pins.
10+
511
- **Breaking authorization change:** uses `admin:ChangeMyPassword` for the Change Password button and session capability; user creation remains governed by `admin:CreateUser`. With the matching Server, a saved CreateUser deny no longer locks the caller's password, and a ChangeMyPassword deny now locks it. Preserve the old combined restriction by denying both actions before upgrading. The updated built-in `readonly` also permits self-service password changes and no longer overrides a separate CreateUser Allow; saved policy overrides retain their old statements. Deploy Server, silo-pkg and Console together. See the [migration guide](https://github.com/pgsty/silo/blob/420340bc142b7dec00c26c28dd78102e3ed9d0f3/docs/iam/password-permissions.md) for affected policies, mixed-version behavior and rollback limits. This change is independent of the SDK update.
612
- Pins upstream minio-go to `60bd07042d49`, including streaming Content-Type signing, RDMA TLS trust, listing checksum and restore-status fixes. Uses released silo-pkg v3.14.0 and the September 13 mcli release, and refreshes the Go official x/* dependencies. The upstream region-whitespace fix (#2274) remains pending.
713
- Updates knip's indirect smol-toml dependency to 1.8.0, retaining the fix for CVE-2026-85730.

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@
3434
> sponsored by MinIO, Inc. The MinIO name is used only to identify the upstream
3535
> project and compatibility lineage.
3636
37+
## Current release and development source
38+
39+
The latest published Console is [v2.4.0](https://github.com/pgsty/silo-console/releases/tag/v2.4.0)
40+
(2026-09-08). It uses silo-pkg v3.13.3 and MC source `c8aa5d25a63a`.
41+
The main branch now uses pkg v3.14.0, mcli 20260913 and upstream minio-go
42+
`60bd07042d49`; the password-permission split, streaming ZIP downloads and new
43+
release-promotion contract are **unreleased** as of 2026-09-13. See
44+
[CHANGELOG.md](CHANGELOG.md) and the [component matrix](https://silo.pgsty.com/compatibility/versions/).
45+
3746
## Overview
3847

3948
SILO Console is the browser-based administration interface for

docs/Embedding.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Embedding Console in a SILO server
22

3+
This page describes the main-branch source as of 2026-09-13, including pkg
4+
v3.14.0 and the released mcli 20260913 source. For the published Console v2.4.0
5+
use [its embedding documentation](https://github.com/pgsty/silo-console/blob/v2.4.0/docs/Embedding.md)
6+
and its own README replacement block. The Server 20260903 binary embeds Console
7+
source `464a59d73ada` with the v2.3.0 version identity, not this newer source.
8+
39
SILO embeds this module (`github.com/minio/console`) as a Go dependency.
410
Console directly requires `github.com/pgsty/silo-pkg/v3`; that requirement is
511
inherited normally and needs no downstream replacement. Console has one
@@ -35,8 +41,13 @@ compile. `minio-go` is the explicit exception and resolves upstream by policy.
3541

3642
This Console line has completed the migration described by silo-pkg v3.13.0:
3743
its source imports `github.com/pgsty/silo-pkg/v3`, and `go.mod` requires the
38-
current v3.14.0 release directly. A SILO server adopting this Console release must make the same source
44+
current v3.14.0 release directly. A SILO server adopting this Console revision must make the same source
3945
import migration. Keeping old `github.com/minio/pkg/v3`
4046
imports while replacing that path with silo-pkg v3.13.0 or later produces
4147
`used for two different module paths`. Update the embedding server's imports
42-
and module graph when it adopts this Console release.
48+
and module graph when it adopts this Console revision.
49+
50+
The single maintained-component replacement is separate from compatibility
51+
pins: go-systemd remains v22.6.0 for NetBSD, and Console retains tablewriter
52+
v0.0.5 for the MC API it imports. Inspect the root module's full effective graph;
53+
Go does not inherit these other replacements either.

docs/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Docs
22

3+
These pages describe the checked-out source. The latest published version is
4+
v2.4.0; main-branch features marked Unreleased require a source build until the
5+
next Console release. See [CHANGELOG.md](../CHANGELOG.md) and the
6+
[component matrix](https://silo.pgsty.com/compatibility/versions/).
7+
38
More documentation to read
49

510
- [OIDC](OIDC.md)

docs/Release.md

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,14 @@
22

33
This is the checklist for publishing a SILO Console release. Pushing an
44
annotated `v*` tag starts `.github/workflows/release.yaml`; the workflow creates
5-
a draft GitHub release and publishes the versioned and `latest` container tags.
6-
The maintainer reviews and publishes the draft manually.
5+
a draft GitHub release and a versioned candidate image. It does not advance
6+
`latest`. The maintainer publishes the verified draft; `promote-image.yaml`
7+
then verifies the current stable release, signatures, SBOM, provenance and
8+
anonymous image access before promoting that digest to `latest`.
9+
10+
This is the main-branch procedure as of 2026-09-13. Console v2.4.0 was built
11+
with the earlier workflow. Older assets do not acquire the new verification
12+
contract retroactively; see [release-contract.md](release-contract.md).
713

814
## 1. Prepare one candidate commit
915

@@ -61,19 +67,23 @@ Before GoReleaser runs, the tag workflow checks:
6167
- that rebuilding `web-app/build` and `src/version.tsx` produces no diff.
6268

6369
GoReleaser then uploads binaries, archives, packages, checksums, legal files,
64-
and a **draft** GitHub release. It publishes the multi-platform image directly
65-
to `ghcr.io/pgsty/silo-console` under the release tag and `latest`.
70+
and a **draft** GitHub release. It publishes the multi-platform candidate image
71+
to `ghcr.io/pgsty/silo-console` under the release tag. The workflow verifies
72+
checksum/image signatures, SBOM attestations and provenance before declaring
73+
the draft ready. Only the separate post-publication workflow advances `latest`.
6674

6775
## 4. Review and publish the draft
6876

6977
Review the generated notes and asset list, then publish the draft in GitHub.
70-
The draft is the manual approval boundary; no separate environment or staging
71-
package is required.
78+
After publication, require `promote-image.yaml` to succeed and verify anonymous
79+
pulls of both the release tag and `latest`. A published GitHub release alone
80+
is not proof that image promotion completed.
7281

7382
If GoReleaser fails while uploading assets, the release remains an unpublished
7483
draft. Delete that partial draft and rerun the tag workflow. The container tags
75-
may already point at the correctly labelled release image; rerunning with the
76-
same tag replaces them with the completed build.
84+
for the candidate version may already exist. Retry only while the GitHub
85+
release is still a draft; the workflow refuses to overwrite a published release.
86+
`latest` stays at the previous verified release until promotion succeeds.
7787

7888
## 5. Version metadata
7989

docs/release-contract.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Release and verification contract
22

3+
> Release boundary (2026-09-13): this describes unreleased main-branch behavior.
4+
> Console v2.4.0 does not contain these changes. See
5+
> [the changelog](../CHANGELOG.md#unreleased) and [component matrix](https://silo.pgsty.com/compatibility/versions/).
6+
7+
38
This contract applies to releases built from this source revision onward. Older
49
releases do not retroactively acquire signatures or provenance.
510

docs/ui-downloads-and-recovery.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Browser downloads, recovery and UI text
22

3+
> Release boundary (2026-09-13): this describes unreleased main-branch behavior.
4+
> Console v2.4.0 does not contain these changes. See
5+
> [the changelog](../CHANGELOG.md#unreleased) and [component matrix](https://silo.pgsty.com/compatibility/versions/).
6+
7+
38
Multi-selection ZIPs use a file writer when the browser offers the File System
49
Access API. The response is streamed with backpressure, and cancelling a queued
510
or active transfer aborts the request and file writer. A failed or incomplete

systemd/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Packaged Linux service
22

3+
> Release boundary (2026-09-13): this is the main-branch unit and package contract.
4+
> The certificate-directory transition and service hardening below are unreleased;
5+
> Console v2.4.0 retains its earlier unit. See [the changelog](../CHANGELOG.md#unreleased).
6+
7+
38
DEB and RPM retain `/etc/systemd/system/minio-console.service` and
49
`/etc/default/console`. Existing service names and configuration files continue
510
to work. APK installs the same files for compatibility, but stock Alpine uses

0 commit comments

Comments
 (0)