Files
marcus 51ccabc24e
CI / Lint (PHP 7.4) (push) Canceled after 0s
CI / Release build, preflight and Plugin Check (push) Canceled after 0s
CI / Smoke test (WordPress 6.2, PHP 7.4) (push) Canceled after 0s
CI / Smoke test (WordPress latest, PHP 8.3) (push) Canceled after 0s
fix: GitHub updater requests never follow redirects, whatever other plugins set
HTTP Requests Manager (blocking modes) sets every request's redirection to 1 on http_request_args. The updater's no-redirect requests then followed GitHub's redirect: signed_address() lost the Location, so private updates failed (and the token went to the download host), and fetch_web()'s HEAD on releases/latest got 200 instead of a redirect. remote_no_redirect() holds redirection at 0 for that one URL at PHP_INT_MAX. Updater copy 1.0.1 (the GH#261 change had not raised it).
2026-10-03 16:44:42 +01:00

12 lines
1.2 KiB
Plaintext

== Changelog ==
Every change to WP Plugin Starter. readme.txt lists the latest version in short.
= Unreleased =
* Fix: the shared GitHub updater (copy 1.0.1) could not update from private repositories on sites where another plugin raises every request's redirection count (HTTP Requests Manager in a blocking mode sets it to 1): GitHub's redirect was followed, so the signed download address was lost and the token went along to the download host. Its requests to GitHub now never follow redirects, whatever other plugins set. Public repositories' release checks had the same problem.
* Fix: the shared GitHub updater's private downloads survive updaters that reset upgrader_pre_download (GPLVault Updater).
= 1.0.0 =
* A fresh start, made from the parts every wpallstars plugin needs, taken from plugins in daily use: the settings screen with search, the Read Me tab, features as classes, replaced plugins, the shared GitHub updater, the release and check scripts, CI and the shared rules (STANDARDS.md, DEVELOPMENT.md, RELEASING.md). Earlier versions of this starter are retired; start again from this one.
* New: scripts/rename-plugin.sh gives a copy of the starter its own names, and scripts/sync-core.sh keeps a plugin's core files the same as the starter's.