Skip to content

v1.6.1184

Choose a tag to compare

@github-actions github-actions released this 25 Feb 22:33
· 14 commits to main since this release
Immutable release. Only release title and notes can be modified.

Steady trot ahead

Decentralize your WordPress plugin distribution.

Troy is a suite of plugins that enables independent plugin and theme distribution outside WordPress.org. Host your own update server, protect user privacy, and maintain full control over your software distribution.

What's Changed

Server:

  • Added multi-plugin stats endpoint via POST to retrieve stats for up to 69 plugins in a single request.
  • Added CORS support to all API endpoints to allow cross-origin requests from other sites (e.g., for a public stats dashboard).
  • Added privacy policy link to the plugin row meta.
  • Added character counter to package descriptions.
  • Added network activation options for packages. Update your packages to engage this feature.
  • Added Setup tab to the settings page to help with onboarding (and future settings).
  • Added a checklist above the Publish button in the package editor to ease onboarding.
  • Added WordPress 7.0 default color-scheme compatibility.
  • Changed the package editor to disable autosaves since all data is stored in custom tables.
  • Changed WordPress.org tag fetching by limiting results to 30 tags, matching GitHub's tag limit.
  • Updated download stat detection to recognize Troy Client 1.6.1184's user agent for tracking.
  • Improved default package description to clarify Troy Client's role.
  • Improved ID and class names for troy-mode and troy-packages by prefixing them with "troy-server" to avoid conflicts with other plugins.
  • Improved consistency of hyphen usage in input names and IDs across the plugin.
  • Improved the Troy Mode toggle's border contrast so it's more visible in all admin color schemes.
  • Resolved an issue where the cell width would collapse text on the packages list view.
  • Resolved an issue where the admin color scheme wasn't being detected correctly.
  • Resolved an issue where the Troy Server admin menu page icon would flash on load.
  • Resolved a deprecation notice with PHP 8.5 on example plugin logo generation.

Client:

  • Added user agent filtering for all HTTP requests to Troy Servers to prevent site URL leakage.
  • Added privacy policy link to the plugin row meta.
  • Fixed image validation to explicitly set an anonymous user agent.
  • Fixed plugin data caching ignoring field requirements, causing sporadic empty fields in plugin info.

Client Daemon:

  • Added a safeguard to deactivate itself and throw an error if activated normally instead of as an MU plugin.
  • Fixed an issue where translation files were loaded too early during the installation of Troy Client.

Installer:

  • Added full multisite activation support.
  • Improved styling of notices.
  • Fixed typos.

Note: Changes to Installer also affect Troy Server's generated installer packages, so make sure to update your packages to benefit from these changes.

What's Included

Troy Server — Host your own plugin repository with full WordPress admin integration. Manage plugins via the Block Editor, connect GitHub or WordPress.org repos for automatic updates, and generate installer packages for your clients. Includes anonymous usage statistics.

Troy Client — Enable sideloading for plugin updates, translations, and dependencies from any Troy Server. Simply add a Troy: <repo-url> header to your plugin. Optionally hide plugins from WordPress.org's update API entirely.

Troy Client Daemon — A must-use plugin that enforces Troy Client and blocks WordPress.org APIs until Troy Client is active. Drop it in mu-plugins/ — no configuration needed.

Troy Installer — A tiny installer plugin generated by Troy Server to distribute to your clients. Installs Troy Client and your selected plugins in one click.

Snippets — Helper snippets for hiding Troy Client from the admin, enabling beta channels, and embedding Troy Client in your plugins.

Requirements

Component PHP WordPress MySQL
Troy Server 8.4+ 6.8+ 8.0.19+
Troy Client 7.4+ 6.7+ 8.0.0+

License

MIT — use it freely.


Made with love. By Sybre Waaijer, for the community.

Full Changelog: v1.5.1184...v1.6.1184