Extends the existing upgrade PR #8 (previously bumped to 6.69.0-alpine) to the newest stable Ghost
release — upstream main is still pinned at 6.67.0-alpine, so this carries the same branch forward
rather than opening a parallel PR.
Image tags
Service
Image
Current (upstream main)
New
Notes
app
ghost
6.67.0-alpine
6.71.0-alpine
4 minor releases (6.68/6.69/6.70/6.71); features + bug fixes, no migrations
db
mysql
8.4
8.4 (unchanged)
floating 8.4 already resolves to the latest 8.4.x LTS patch (currently 8.4.11, Docker Hub 2026-10-12); abra's 9.x/26.7 candidates are not Ghost-supported (MySQL 8 only) and are declined
None. No breaking changes, no required migrations, no new/renamed config across 6.67 → 6.71.
(v6.70.0 removed the legacy Ember admin code — an internal cleanup; blog front-end themes are
Handlebars and unaffected, Admin is React.)
MySQL stays 8.4 — Ghost supports MySQL 8 only. Do not move to 9.x/26.x.
Recommendation
Recommended release step (operator, after this PR merges):
abra recipe release ghost -y
(current label 1.5.1+6.67.0-alpine; non-breaking feature release → minor bump.)
Advisory scan (deterministic)
0 CVEs identified by the advisory scan for the 6.67.0 → 6.71.0 window (7 sources checked; no
sidecar upgraded). Release notes name no CVEs → total 0. No failed/unjudged sources.
Live verification (step 2b — direct deploy on cc-ci, before CI)
Deployed the WIP recipe with --chaos on the local swarm: app ghost:6.71.0-alpine 1/1 +
db mysql:8.4 1/1; DB schema created fresh, Database is in a ready state., Ghost booted in 9.125s, Explore ping reports "ghost":"6.71.0", GET /ghost/api/admin/site/ → 200 (valid JSON via curl). No errors / crash-loop. Deploy torn down.
Infra note (NOT caused by this PR)
The L5 lint rung is currently unver for ghost (independent of this bump): abra recipe lint panics
with panic: version show is not supported (matched: ^[a-zA-Z]+$) in GetRecipeCatalogueVersions.sortVersionStrings, because the upstream recipe repo carries a stray
annotated tag show and today's regenerated catalogue (~/.abra/catalogue/recipes.json) lists it in
ghost's versions. Lint is a level rung, never the verdict (run_recipe_ci.py sets the run
verdict only from tier failures / deploy-count / dep-teardown / SSO-unverified), so the run verdict
remains GREEN with the level capped at 4. Resolving it is an upstream-tag / catalogue-infra matter.
Tested green on the cc-ci recipe CI server (full suite, cold, against this PR head). NOT merged — for operator review.
## Recipe upgrade: `ghost` `6.67.0-alpine` → `6.71.0-alpine`
Extends the existing upgrade PR #8 (previously bumped to `6.69.0-alpine`) to the newest stable Ghost
release — upstream `main` is still pinned at `6.67.0-alpine`, so this carries the same branch forward
rather than opening a parallel PR.
### Image tags
| Service | Image | Current (upstream main) | New | Notes |
|---------|-------|-------------------------|-----|-------|
| app | ghost | `6.67.0-alpine` | `6.71.0-alpine` | 4 minor releases (6.68/6.69/6.70/6.71); features + bug fixes, no migrations |
| db | mysql | `8.4` | `8.4` (unchanged) | floating `8.4` already resolves to the latest 8.4.x LTS patch (currently 8.4.11, Docker Hub 2026-10-12); abra's `9.x`/`26.7` candidates are not Ghost-supported (MySQL 8 only) and are declined |
### Upstream release notes
**Upstream release notes:** ghost 6.67.0→6.71.0: https://github.com/TryGhost/Ghost/compare/v6.67.0...v6.71.0
- v6.68.0 — https://github.com/TryGhost/Ghost/releases/tag/v6.68.0
- v6.69.0 — https://github.com/TryGhost/Ghost/releases/tag/v6.69.0
- v6.70.0 — https://github.com/TryGhost/Ghost/releases/tag/v6.70.0
- v6.71.0 — https://github.com/TryGhost/Ghost/releases/tag/v6.71.0
### Operator Action Required
- **None.** No breaking changes, no required migrations, no new/renamed config across 6.67 → 6.71.
(v6.70.0 removed the legacy Ember admin code — an internal cleanup; blog front-end themes are
Handlebars and unaffected, Admin is React.)
- **MySQL stays `8.4`** — Ghost supports MySQL 8 only. Do not move to 9.x/26.x.
### Recommendation
Recommended release step (operator, after this PR merges):
`abra recipe release ghost -y`
(current label `1.5.1+6.67.0-alpine`; non-breaking feature release → minor bump.)
### Advisory scan (deterministic)
**0 CVEs** identified by the advisory scan for the 6.67.0 → 6.71.0 window (7 sources checked; no
sidecar upgraded). Release notes name no CVEs → total **0**. No failed/unjudged sources.
### Live verification (step 2b — direct deploy on cc-ci, before CI)
Deployed the WIP recipe with `--chaos` on the local swarm: app `ghost:6.71.0-alpine` 1/1 +
db `mysql:8.4` 1/1; DB schema created fresh, `Database is in a ready state.`,
`Ghost booted in 9.125s`, Explore ping reports `"ghost":"6.71.0"`,
`GET /ghost/api/admin/site/` → **200** (valid JSON via curl). No errors / crash-loop. Deploy torn down.
### Infra note (NOT caused by this PR)
The L5 lint rung is currently `unver` for ghost (independent of this bump): `abra recipe lint` panics
with `panic: version show is not supported (matched: ^[a-zA-Z]+$)` in
`GetRecipeCatalogueVersions.sortVersionStrings`, because the upstream recipe repo carries a stray
annotated tag `show` and today's regenerated catalogue (`~/.abra/catalogue/recipes.json`) lists it in
ghost's `versions`. Lint is a **level rung, never the verdict** (`run_recipe_ci.py` sets the run
verdict only from tier failures / deploy-count / dep-teardown / SSO-unverified), so the run verdict
remains GREEN with the level capped at 4. Resolving it is an upstream-tag / catalogue-infra matter.
Tested green on the cc-ci recipe CI server (full suite, cold, against this PR head). NOT merged — for operator review.
cc @trav @notplants
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Recipe upgrade:
ghost6.67.0-alpine→6.71.0-alpineExtends the existing upgrade PR #8 (previously bumped to
6.69.0-alpine) to the newest stable Ghostrelease — upstream
mainis still pinned at6.67.0-alpine, so this carries the same branch forwardrather than opening a parallel PR.
Image tags
6.67.0-alpine6.71.0-alpine8.48.4(unchanged)8.4already resolves to the latest 8.4.x LTS patch (currently 8.4.11, Docker Hub 2026-10-12); abra's9.x/26.7candidates are not Ghost-supported (MySQL 8 only) and are declinedUpstream release notes
Upstream release notes: ghost 6.67.0→6.71.0: https://github.com/TryGhost/Ghost/compare/v6.67.0...v6.71.0
Operator Action Required
(v6.70.0 removed the legacy Ember admin code — an internal cleanup; blog front-end themes are
Handlebars and unaffected, Admin is React.)
8.4— Ghost supports MySQL 8 only. Do not move to 9.x/26.x.Recommendation
Recommended release step (operator, after this PR merges):
abra recipe release ghost -y(current label
1.5.1+6.67.0-alpine; non-breaking feature release → minor bump.)Advisory scan (deterministic)
0 CVEs identified by the advisory scan for the 6.67.0 → 6.71.0 window (7 sources checked; no
sidecar upgraded). Release notes name no CVEs → total 0. No failed/unjudged sources.
Live verification (step 2b — direct deploy on cc-ci, before CI)
Deployed the WIP recipe with
--chaoson the local swarm: appghost:6.71.0-alpine1/1 +db
mysql:8.41/1; DB schema created fresh,Database is in a ready state.,Ghost booted in 9.125s, Explore ping reports"ghost":"6.71.0",GET /ghost/api/admin/site/→ 200 (valid JSON via curl). No errors / crash-loop. Deploy torn down.Infra note (NOT caused by this PR)
The L5 lint rung is currently
unverfor ghost (independent of this bump):abra recipe lintpanicswith
panic: version show is not supported (matched: ^[a-zA-Z]+$)inGetRecipeCatalogueVersions.sortVersionStrings, because the upstream recipe repo carries a strayannotated tag
showand today's regenerated catalogue (~/.abra/catalogue/recipes.json) lists it inghost's
versions. Lint is a level rung, never the verdict (run_recipe_ci.pysets the runverdict only from tier failures / deploy-count / dep-teardown / SSO-unverified), so the run verdict
remains GREEN with the level capped at 4. Resolving it is an upstream-tag / catalogue-infra matter.
Tested green on the cc-ci recipe CI server (full suite, cold, against this PR head). NOT merged — for operator review.
cc @trav @notplants
!testme
🌻 cc-ci —
ghost@ee04ca9e✅ passedfull logs · dashboard
!testme
🌻 cc-ci —
ghost@ee04ca9e✅ passedfull logs · dashboard
chore: upgrade ghost to 6.69.0-alpineto chore: upgrade ghost to 6.71.0-alpine!testme
🌻 cc-ci —
ghost@dbe40ecb✅ passedfull logs · dashboard
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.