Skip to content

v2.3.3 — API base URL label, sync guards, and the API version rewrite

Choose a tag to compare

@mexiter mexiter released this 10 Sep 18:03
· 39 commits to main since this release
185c0c2

Fixes the Settings tab telling admins their brand sync had nothing to call, or was still on v1, when it wasn't — the exact confusion that read as a broken sync during Sigma's first integration test. Two review passes plus a live WordPress smoke test after merge (which caught one real fatal, also fixed here) went into this release; see CHANGELOG.md for the full detail.

Fixed

  • Fatal error on Tools › Tests & Diagnostics, found by a live WordPress smoke test after the code was merged, not by the 874 mocked unit tests. Verified fixed under a real WordPress 7.1 install, every admin page this release touches, logged in, clicking through. Tested up to updated to 7.1.
  • Settings › API Connection no longer implies brand sync uses v1 while V2 is selected — the tab echoed the stored base URL verbatim as "Current", reading /api/v1 even while V2 was selected and in effect. The Brands API Version row now states the exact URL brand sync calls, rewritten symmetrically in both directions so the radio is authoritative either way.
  • Brand and toplist sync buttons now refuse to run when the API Base URL isn't configured, instead of falling through to a hard-coded fallback host with a real bearer token.
  • The admin API preview's forced-V2 rewrite works again for base URLs without a literal /api/ segment.
  • The 404 error message no longer shows a stale URL alongside the real one that just failed. The Dashboard health tile, Tools diagnostics, and Test Connection now all agree with Settings about whether the API is configured, and Test Connection now actually enforces v1 instead of trusting the raw stored value. The Tools › API Preview tab no longer writes an option on a plain page load.

Changed

  • The /api/vN rewrite has one owner (UrlTransformer::withApiVersion() for brand sync, forceApiVersion() for the admin preview tool). ApiBaseUrlDetector::isConfigured() is now shared everywhere that needs to know whether the API is set up.

Full changelog: https://github.com/DataFlairAI/DataFlair-Toplists/blob/main/CHANGELOG.md