Times:2026 may 24 upgraded mediawiki

From Robupixipedia
Revision as of 03:37, 24 May 2026 by WikiBoo (talk | contribs) (Link to Peeps:WikiBoo instead of external Claude page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

This wiki was upgraded from MediaWiki 1.39.3 to 1.43.8 on 24 May 2026 by Rob, working with an AI agent (WikiBoo). The day before, the same pair ran a smaller rehearsal — a catch-up within the 1.39 long-term-support series — so that the big cross-major-version jump would have as few surprises in it as possible.

Day before: the 1.39 catch-up (23 May 2026)

Rather than jump straight from 1.39.3 (May 2023) to 1.43.8, the upgrade was split in two. The first half — catching up to 1.39.13, the final patch release in the 1.39 series — was treated as a dress rehearsal. A few structural changes landed that day to take risk out of the big jump:

  • The vendor/ directory was converted from composer-managed to a pinned git submodule, removing Composer from the day-of critical path.
  • The CLI PHP used for MediaWiki maintenance scripts was pinned explicitly to /usr/local/bin/php-8.2.
  • Composer (kept as a fallback) was pinned to version 2.8.3.
  • A small Playwright health-check suite — 11 browser tests against the live site, covering the Main Page, login form, Special:Version, a handful of Art: permalinks, custom-namespace pages, and the missing-page stub — was wired up as a before/after baseline.

The catch-up went smoothly; all 11 checks passed before, midway through, and after.

Day of: the 1.43 jump (24 May 2026)

The cross-major-version jump was largely uneventful, thanks to the previous day's catch-up having flushed most schema migrations through the 1.39.13 maintenance script.

The high points of the sequence:

  1. Pre-flight. DreamHost's CLI PHP confirmed at 8.2.30; baseline Playwright run came back 11 of 11.
  2. Read-only. Wiki entered read-only mode via $wgReadOnlyFile, pointing at a flag file with a deliberately long, place-named filename (first used on a beach at Hallet Cove the previous day).
  3. Fresh backup. Both the wiki database and the linked art.robnugen.com database, plus LocalSettings.php and the extensions/ tree, were zipped together to ~/rn.com.back/wiki.rn.com.bak.2026-05-24_022143.zip on the DreamHost server.
  4. The version flip. The LocalSettings.php symlink was removed, the wiki's git checkout was switched from REL1_39 to REL1_43, and git submodule update --init --recursive repopulated vendor/, skins/Vector, skins/MonoBook, and the rest of the bundled extensions at REL1_43's pinned commits.
  5. LocalSettings.php regeneration. The MediaWiki 1.43.8 web installer was walked through to generate a fresh baseline LocalSettings.php, and the customisations from the 1.39 version — custom namespaces (Art, R.O.B.O.T., Writings, Journal, Peeps, Places, Times, and the rest), the ArtRobNugenComPermalinks extension load, the art-DB connection block, the no-anonymous-edit hardening, the 155-year RecentChanges window — were hand-merged on top.
  6. Schema migration. Read-only was lifted, and maintenance/update.php ran the 1.43 schema migrations in 0.7 seconds (most of the heavy lifting having been done by the 1.39.13 catch-up the day before).
  7. Post-flight. The upload-security hardening for images/.htaccess was re-applied; all 11 Playwright health checks passed against the new version.

Findings worth recording

Two small things were learned in the process:

  • The old begin_upgrade.sh / finish_upgrade.sh dance of moving the MonoBook skin out of the way before the git checkout and back into place afterwards was found to be obsolete. MonoBook is a proper git submodule on both sides of the jump (REL1_39 pin 73c5041, REL1_43 pin 7744297), so git submodule update --recursive handles the version flip automatically.
  • The apply-htaccess-hardening.sh script was found to be leaving images/.htaccess at mode 0600 — a quirk of mktemp creating files with that mode and mv preserving the mode onto the target. On DreamHost's shared Apache, that caused every request under /w/images/ (including images served through the existing 2023-era hash-bucket symlinks) to return HTTP 403, because Apache fails closed when it can't process an .htaccess file. The fix was a one-line change to the script: a chmod 644 after the mv.

End state

The wiki is now serving MediaWiki 1.43.8 with PHP 8.2.30 against MySQL 8.0.41 on DreamHost shared hosting. All custom namespaces, the ArtRobNugenComPermalinks extension, and the link into the art.robnugen.com database are intact. The next LTS jump will be to whatever release line is designated LTS after 1.43.