docs: verify CHANGELOG against full git history since repo creation
test / test (push) Waiting to run
test / test (push) Waiting to run
Correct historical gaps: compose cap_add (CAP_FOWNER/FSETID/KILL) in [0.2.0], nav Backup/Sign-out icons in [0.3.0], Export/Danger layout in [1.2.5], and move GHCR per-arch tag cleanup from [1.3.0] to [1.3.1] where the fix landed. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+27
-18
@@ -252,6 +252,14 @@ tag bump; no schema migration.
|
|||||||
parsed aggregate report (aligned vs third-party fail), not a hub-only
|
parsed aggregate report (aligned vs third-party fail), not a hub-only
|
||||||
summary.
|
summary.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- ci (GHCR): per-arch package tags (`X.Y.Z-amd64`, `X.Y.Z-arm64`) are dropped
|
||||||
|
after the manifest merge via the GitHub Packages API. The `[1.3.0]` merge job
|
||||||
|
called `docker buildx imagetools rm`, which is not a valid subcommand — cleanup
|
||||||
|
failed with a warning and the side-effect tags stayed in the registry until
|
||||||
|
this fix.
|
||||||
|
|
||||||
## [1.3.0] - 2026-08-14
|
## [1.3.0] - 2026-08-14
|
||||||
|
|
||||||
Security and quality after 1.2.5: domain-admin send-log authorization,
|
Security and quality after 1.2.5: domain-admin send-log authorization,
|
||||||
@@ -336,11 +344,6 @@ Plex. Upgrading from 1.2.x is a tag bump; no migration.
|
|||||||
the same Resync on demand. The `internal/backup` package comment now matches
|
the same Resync on demand. The `internal/backup` package comment now matches
|
||||||
this behaviour.
|
this behaviour.
|
||||||
|
|
||||||
- ci (GHCR): per-arch package tags (`X.Y.Z-amd64`, `X.Y.Z-arm64`) are dropped
|
|
||||||
after the manifest merge via the GitHub Packages API. The merge job had called
|
|
||||||
`docker buildx imagetools rm`, which is not a valid subcommand — cleanup failed
|
|
||||||
with a warning and the side-effect tags stayed in the registry.
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- docs: operator and as-built docs aligned with the code after a full
|
- docs: operator and as-built docs aligned with the code after a full
|
||||||
@@ -390,15 +393,13 @@ Plex. Upgrading from 1.2.x is a tag bump; no migration.
|
|||||||
(`vX.Y.Z`) or a manual `workflow_dispatch` with an explicit SemVer version — a
|
(`vX.Y.Z`) or a manual `workflow_dispatch` with an explicit SemVer version — a
|
||||||
bare git tag push no longer starts the build. `release.yml` listens for
|
bare git tag push no longer starts the build. `release.yml` listens for
|
||||||
`release: published`, checks out that tag (not `main` HEAD), e2e-gates each
|
`release: published`, checks out that tag (not `main` HEAD), e2e-gates each
|
||||||
native arch build, merges `X.Y.Z-amd64` and `X.Y.Z-arm64` into one manifest,
|
native arch build, and merges `X.Y.Z-amd64` and `X.Y.Z-arm64` into one
|
||||||
then removes the per-arch tags from GHCR via the GitHub Packages API so
|
manifest. Reliable removal of the per-arch side-effect tags from GHCR landed
|
||||||
operators see only `ghcr.io/mixeme/selfpost:X.Y.Z` (what
|
in `[1.3.1]`. A dispatch whose version input is missing or not `X.Y.Z` fails
|
||||||
`deploy/docker-compose.yml` pins). A dispatch whose version input is missing
|
in `prepare`. [development.md](docs/development.md) documents draft vs
|
||||||
or not `X.Y.Z` fails in `prepare`. [development.md](docs/development.md)
|
published releases, why deleting a release tag converts it back to draft, and
|
||||||
documents draft vs published releases, why deleting a release tag converts
|
Gitea → GitHub tag-mirror pitfalls (do not prune release tags on GitHub; a
|
||||||
it back to draft, and Gitea → GitHub tag-mirror pitfalls (do not prune release
|
mirrored `v1.0.0` still runs that tag's `on: push: tags` workflow).
|
||||||
tags on GitHub; a mirrored `v1.0.0` still runs that tag's `on: push: tags`
|
|
||||||
workflow).
|
|
||||||
|
|
||||||
- test: the authorization and sign-in surfaces that had no tests now have them.
|
- test: the authorization and sign-in surfaces that had no tests now have them.
|
||||||
The login limiter is covered for its ceiling, its per-address scope, the reset
|
The login limiter is covered for its ceiling, its per-address scope, the reset
|
||||||
@@ -495,7 +496,9 @@ Rate-limit form polish after 1.2.4. Upgrading is a tag bump; no migration.
|
|||||||
carry muted leads and matched control height; trusted-IP help sits under the
|
carry muted leads and matched control height; trusted-IP help sits under the
|
||||||
IP field. Domain settings pairs DMARC reports with the level-2 rate limit
|
IP field. Domain settings pairs DMARC reports with the level-2 rate limit
|
||||||
using CSS subgrid so titles, fields, and Save / Remove buttons line up across
|
using CSS subgrid so titles, fields, and Save / Remove buttons line up across
|
||||||
columns.
|
columns. Domain page Export and Danger cards stack naturally again — a
|
||||||
|
shared-baseline flex pin on `.split` cards made mismatched body lengths look
|
||||||
|
worse than a plain stack.
|
||||||
|
|
||||||
## [1.2.4] - 2026-08-12
|
## [1.2.4] - 2026-08-12
|
||||||
|
|
||||||
@@ -1302,9 +1305,10 @@ database, or the on-disk layout. Upgrading is a tag bump.
|
|||||||
Bookmarks to the old paths stop working.
|
Bookmarks to the old paths stop working.
|
||||||
|
|
||||||
- panel: each entry in the navigation bar now carries an icon beside its label,
|
- panel: each entry in the navigation bar now carries an icon beside its label,
|
||||||
so the bar is scannable at a glance instead of a row of similar-length words.
|
so the bar is scannable at a glance instead of a row of similar-length words —
|
||||||
The icons are inline SVG drawn in the entry's own colour — no extra request,
|
Backup uses a filing-cabinet mark; Sign out has its own icon too. The icons
|
||||||
no exemption from the panel's Content-Security-Policy — and are hidden from
|
are inline SVG drawn in the entry's own colour — no extra request, no
|
||||||
|
exemption from the panel's Content-Security-Policy — and are hidden from
|
||||||
screen readers, which still announce the label alone.
|
screen readers, which still announce the label alone.
|
||||||
|
|
||||||
- panel: the navigation bar is laid out as two rows on purpose — the signed-in
|
- panel: the navigation bar is laid out as two rows on purpose — the signed-in
|
||||||
@@ -1444,6 +1448,11 @@ database, or the on-disk layout. Upgrading is a tag bump.
|
|||||||
login/password and on the sending server name.
|
login/password and on the sending server name.
|
||||||
- panel: the *Addresses* field is hidden while an application's address mode is
|
- panel: the *Addresses* field is hidden while an application's address mode is
|
||||||
*Any address of the domain*, where the server ignores it.
|
*Any address of the domain*, where the server ignores it.
|
||||||
|
- deploy: `cap_add` gains `CAP_FOWNER` and `CAP_FSETID` so the entrypoint can
|
||||||
|
chmod and set the setgid bit on `/data` directories it has just chowned under
|
||||||
|
`cap_drop: ALL`, and `CAP_KILL` so supervisord can signal OpenDKIM across uids
|
||||||
|
when domains are added or removed. Production boot under the hardened compose
|
||||||
|
file exposed both gaps after Phase 10.
|
||||||
- ci: disable provenance attestation on release image push, so the ghcr.io
|
- ci: disable provenance attestation on release image push, so the ghcr.io
|
||||||
manifest list shows only `linux/amd64`/`linux/arm64` (no `unknown/unknown`).
|
manifest list shows only `linux/amd64`/`linux/arm64` (no `unknown/unknown`).
|
||||||
- ci: run `go vet` and `go test ./...` on every push to `main` and every pull
|
- ci: run `go vet` and `go test ./...` on every push to `main` and every pull
|
||||||
|
|||||||
Reference in New Issue
Block a user