Skip to content

Releases: fairpm/fair-plugin

1.2.0

11 Dec 16:37
9895bd1

Choose a tag to compare

See release post at fair.pm

What's Changed

  • Generate POT - 2025-11-07 by @github-actions[bot] in #314
  • Issue and PR Templates by @Ipstenu in #304
  • Updater: Use stylesheet directory to determine theme’s style.css location. by @peterwilsoncc in #323
  • Docs: Convert block comments to multiple single line comments. by @costdev in #326
  • Make emoji use and rendering consistent in GitHub templates. by @costdev in #321
  • Link to the FAIRPM repo's discussions section. by @costdev in #322
  • fix for non-fair plugin install with no did string by @afragen in #328
  • Parse IndexNow request earlier. by @peterwilsoncc in #317
  • Skip IndexNow notifications during imports. by @peterwilsoncc in #319
  • Add readme.txt and changelog by @afragen in #331
  • Add array_first() and array_last() compatibility from WP6.9 by @afragen in #332
  • Update get|set_transient to get|set_site_transient by @afragen in #330
  • Rename minifair to FAIR Beacon by @jdevalk in #340
  • Ensure proper format of $icons in transient by @afragen in #343
  • Add Author URI and Security contact to plugin header by @toderash in #346
  • rework dotorg_connectivity site health check - 2 by @joedolson in #337
  • removing data on uninstall by @norcross in #347
  • Appropriate slug rename on update by @afragen in #342
  • Support custom avatars when gravatar is left enabled. by @joedolson in #349
  • [browserslist] Update browser regex by @github-actions[bot] in #325
  • Change text naming of plugin by @joedolson in #351
  • Update assets for FAIR Connect renaming by @joedolson in #352
  • Add screenshots by @jazzsequence in #348
  • Generate POT - 2025-11-08 by @github-actions[bot] in #324
  • Generate POT - 2025-12-10 by @github-actions[bot] in #358
  • Update ca POT translation (9-24-25) by @marcarmengou in #270
  • add missing translator comments by @afragen in #359
  • German translation files for FAIR 1.0 by @La-Geek in #297
  • Generate missing i18n files - 2025-12-10 by @github-actions[bot] in #361
  • Generate POT - 2025-12-10 by @github-actions[bot] in #360
  • Populate alsoKnownAs data after fetching it from the ledger. by @johnbillion in #357
  • Open the validated domain in a new tab so it doesn't open in the modal iframe by @johnbillion in #356
  • Update conditional for possible empty $svg by @afragen in #363
  • Generate POT - 2025-12-11 by @github-actions[bot] in #365
  • Don't create a bundle for versions older than FAIR supports by @johnbillion in #288
  • Update de_DE translation by @Soean in #112
  • Close existing automated PRs before creating new ones by @jazzsequence in #362
  • Update sv_SE to .pot for 2025-06-16 by @tobifjellner in #109
  • Generate missing i18n files - 2025-12-11 by @github-actions[bot] in #366
  • [bump-version] Bump version to 1.2.0 by @github-actions[bot] in #368
  • Fix jq command in workflow for closing PRs by @rmccue in #369

New Contributors

Full Changelog: 1.1.0...1.2.0

1.1.0

07 Nov 00:16
acf1fb9

Choose a tag to compare

Introducing FAIR 1.1, our newest release as part of our regular 6-week release train. We’ve got some great new features, as well as refinements of existing ones.

One of the big features we’ve included in 1.1 is WP-CLI support for plugins, making it possible to manage plugins directly from the command line using their DID. We’ve heard from a lot of people that they’d love to be able to manage FAIR-distributed plugins using the CLI - and now you can!

We’ve also improved consistency and accuracy with a few parts of our user interface, helping to clarify the experience for everyone.

All of this, plus loads of other fixes below – as always, thanks to our amazing contributors.

Our plan is to release regularly on a roughly 6 week cadence to make sure we’re always getting the latest and greatest out to you.

We’ve also been cooking in the background on other components in the FAIR ecosystem, including significant work on AspireCloud and AspireExplorer – plus, we’ve just wrapped up our hackathon with Patchstack, building the groundwork for our labeler system (more on that soon!).

P.s. Still getting your head around FAIR? Check out our explainer video and post!

What's Changed

  • Workflows: When detecting POT changes, ignore the creation date. by @costdev in #274
  • Add a Playground link to a PR. by @costdev in #278
  • Banner defaults should be empty string, not null by @afragen in #280
  • Fix icon dimension check to match protocol requirements by @meszarosrob in #282
  • Add WP-CLI support by @costdev in #277
  • [browserslist] Update browser regex by @github-actions[bot] in #275
  • Generate POT - 2025-10-04 by @github-actions[bot] in #285
  • Add more data to get_package_data(), renamed from get_update_data() by @afragen in #286
  • Generate POT - 2025-10-09 by @github-actions[bot] in #289
  • [browserslist] Update browser regex by @github-actions[bot] in #298
  • Add last_updated to metadata document by @costdev in #262
  • Add plugin banner & icon assets by @joedolson in #306
  • Skip avatar URLs or link markup that do not contain secure.gravatar.com. by @costdev in #302
  • Modify Add Plugins message. by @afragen in #305
  • fix duplicate entries in featured tab by @afragen in #307
  • Fix plugin search, broke with escaping by @afragen in #309
  • [browserslist] Update browser regex by @github-actions[bot] in #312
  • Sort plugin modal tabs by @afragen in #310
  • Patch update browsers bin by @ramonfincken in #44
  • [bump-version] Bump version to 1.1.0 by @github-actions[bot] in #313
  • Generate POT - 2025-10-27 by @github-actions[bot] in #303

New Contributors

Full Changelog: 1.0.0...1.1.0

1.0.0

23 Sep 22:48
94028f1

Choose a tag to compare

Welcome FAIR 1.0!

In this release, we've added the ability to view federated packages in the plugin browser. If your selected aggregator supports FAIR federated plugins, they'll now appear in search results and listings.

Screenshot 2025-09-23 at 23 39 53@2x

Federated plugins show information on which repository they're sourced from, as well as DNS validation status if available, helping users determine which packages are authentic. We're working to develop more trust layers, so expect to see more on this in the future.

In addition, we now verify cryptographic signatures on packages, bringing strong verification to the WordPress plugin ecosystem. These use Ed25519 keys for signing, ensuring a high level of security for all FAIR Protocol packages - providing better security than plugins from legacy sources.

By the way: we've also updated our website, including a new directory to browse federated packages!

We've got a bunch of smaller changes as well, which you can find below. Thanks as always to our amazing contributors.

What's Changed

  • [browserslist] Update browser regex by @github-actions[bot] in #209
  • Add release asset header by @afragen in #211
  • [browserslist] Update browser regex by @github-actions[bot] in #214
  • Add defaults for missing data by @afragen in #220
  • Use wp_cache_* instead of get|set_transient by @afragen in #218
  • Fix dashboard news widget and add caching by @afragen in #223
  • Generate POT - 2025-08-17 by @github-actions[bot] in #224
  • [browserslist] Update browser regex by @github-actions[bot] in #226
  • Use local metadata when attempting to get Mini-FAIR data from same site as package is registered by @afragen in #221
  • Remove primary dashboard widget news feed by @afragen in #229
  • Increase planets items by @afragen in #230
  • Icons: Guard against a non-array updates response by @afragen in #244
  • Prevent pings of unpublished URLs. by @peterwilsoncc in #246
  • Change from wp_cache_* to *_transient for fair-plugin by @afragen in #248
  • [browserslist] Update browser regex by @github-actions[bot] in #232
  • Use bridged data from legacy endpoints by @rmccue in #250
  • Add the "Activate" button to get_action_button(). by @costdev in #251
  • Check if the package is installed before trying to set its filepath and slug. by @costdev in #253
  • [browserslist] Update browser regex by @github-actions[bot] in #254
  • Update class-lite.php to use wp_remote_get by @afragen in #256
  • Verify signatures when downloading packages by @costdev in #247
  • Add package domain validation by @rmccue in #243
  • Ensure the user is allowed to activate the plugin. by @costdev in #260
  • Remove debug message upon successful signature verification. by @costdev in #259
  • Rename package from fair to fairpm by @rmccue in #263
  • Only support PLC DIDs for now. by @costdev in #261
  • Allow searching by DID by @costdev in #258
  • Add some contact info to composer.json by @philipjohn in #119
  • [bump-version] Bump version to 1.0.0 by @github-actions[bot] in #264
  • Generate POT - 2025-09-23 by @github-actions[bot] in #265

New Contributors

Full Changelog: 0.4.1...1.0.0

0.4.1

31 Jul 19:50
9709fde

Choose a tag to compare

Whoops, we forgot to bump the plugin header - apologies if you saw the "you need to update" notice after updating! Fear not, we've automated this to avoid it in the future.

What's Changed

  • Update plugin.php version 0.3.0 -> 0.4.0 by @handpressed in #202
  • Add workflow to bump the version by @rmccue in #203
  • [bump-version] Bump version to 0.4.1 by @github-actions[bot] in #206
  • Fix header version bump by @rmccue in #207

New Contributors

Full Changelog: 0.4.0...0.4.1

0.4.0

29 Jul 21:54
be82312

Choose a tag to compare

Say hello to 0.4.0 - and with it, the ability to install and update packages via the FAIR protocol! 🎉

The biggest change in this release is the introduction of the decentralized protocol. Now, given a plugin's Decentralized ID (DID), you can install it directly from the plugins screen. This uses the decentralized FAIR protocol to find where the plugin is hosted and install it, without touching a centralized repository.

install.mp4

Try it out with a test plugin ID: did:plc:deoui6ztyx6paqajconl67rz

Plus, once installed, any plugin with a Plugin ID header or any theme with a Theme ID header will receive updates over the FAIR protocol.

This is just the start of our decentralized package management tools, and we're now on the road towards 1.0, where we plan to introduce the listing and search functionality to replace the existing plugins list.

Also in this release:

  • FAIR has improved compatibility with multisite, but now only allows network activation - since plugins and themes are only managed at the network level.
  • Avatars are also managed more effectively across the network, with changes to how settings are stored (thanks @norcross!)
  • Pings are now sent via IndexNow when content is deleted, ensuring that 404s are picked up sooner (thanks @peterwilsoncc!)
  • The browser update check has been updated to reflect current browsers.

Thanks as always to our fantastic contributors!

What's Changed

  • un-escape class-lite.php for Ryan by @afragen in #121
  • Add random color SVG icons for updates by @afragen in #120
  • Add some phpcs fixes to FAIR/Icons by @afragen in #133
  • Add and apply coding standards. by @costdev in #129
  • Use const in icons/namespace.php by @afragen in #134
  • add Git Updater Lite based updater for packages by @afragen in #131
  • Declare the plugin as network-only by @johnbillion in #135
  • Updated italian translation by @andreg in #118
  • Remove the main constraint when running the PHPCS workflow. by @costdev in #140
  • Update CONTRIBUTING.md by @jorydotcom in #146
  • Refactor for reuse of functions elsewhere by @afragen in #150
  • add check to update transient for default icons check by @afragen in #149
  • [browserslist] Update browser regex by @github-actions[bot] in #141
  • Only exclude class-lite.php from PHPCS by @afragen in #157
  • Ping IndexNow for newly 404ing URLs. by @peterwilsoncc in #160
  • Add WP Core compat.php by @afragen in #164
  • Make compat.php compliant with the coding standard. by @costdev in #165
  • refactoring avatar settings by @norcross in #123
  • Fix code standards issues by @afragen in #171
  • Replace strpos() with newer str_*() functions. by @costdev in #166
  • Split compat.php into php-polyfill.php and wp-polyfill.php by @afragen in #170
  • Add installer for FAIR protocol by @rmccue in #71
  • Remove unused use statement in FAIR\Updater. by @costdev in #194
  • Fix an inconsistent error code in parse_did(). by @costdev in #191
  • Generate POT - 2025-07-28 by @github-actions[bot] in #195
  • Fix context message for platform string. by @joedolson in #198
  • Remove Packages, Updater from feature flag by @afragen in #197
  • Generate POT - 2025-07-29 by @github-actions[bot] in #200
  • Fix the documented type and default value of MetadataDocument::$sections. by @costdev in #193
  • Ensure the returned MetadataDocument ID matches the DID in the request. by @costdev in #192

New Contributors

Full Changelog: 0.3.0...0.4.0

0.3.0

17 Jun 21:32
18e515f

Choose a tag to compare

Our first post-launch update!

In this release, we're fixing a bunch of small bugs reported by the community after launch. We're also adding a lot of translations thanks to contributions from the polyglot community.

Note: the plugin's slug may have changed since 0.2.0 depending on how you installed it. This should be the last time this needs to change, but is necessary for compatibility with the update tools we're currently using.

Thanks to all of our wonderful new contributors for their work, and for the reception from everyone!

Future releases will follow our roadmap and 6 week release schedule.

What's Changed

  • Update URL for REST schema by @afragen in #5
  • Add Git Updater integration headers by @afragen in #7
  • Fix invalid CSS declaration by @Soean in #10
  • Typo in Readme by @rowanc1 in #35
  • Fix a typo in class-lite.php by @szepeviktor in #31
  • Fix errors discovered by static analysis by @szepeviktor in #32
  • Fix localization issues preventing strings from being translated by @TeemuSuoranta in #24
  • [browserslist] Update browser regex by @github-actions in #48
  • Terminology improvements by @milesddavis in #52
  • More terminology improvements within the plugin by @milesddavis in #54
  • Keep generate-pot up to date with main by @timiwahalahti in #58
  • Generate POT - 2025-06-10 by @github-actions in #61
  • Add Domain Path plugin header #17 by @ideag in #21
  • Update Readme with Installation and Uninstallation notes by @Ipstenu in #55
  • Revert #5 by @afragen in #16
  • Remove check on stable PHP versions from dashboard widget logic by @afragen in #46
  • Revert "Keep generate-pot up to date with main" by @afragen in #74
  • it_IT translation for FAIR plugin by @andreg in #49
  • ca translation for FAIR plugin (POT 6-10-25) by @marcarmengou in #27
  • Generate POT - 2025-06-11 by @github-actions in #75
  • Add a bit of explanatory text to the settings page by @jdevalk in #73
  • Add translator comments by @afragen in #77
  • [DOCS] Extend comment to prevent fatal errors on generated strings by @ramonfincken in #43
  • Support ClassicPress News widget by @xxsimoxx in #65
  • Translation German de_DE for the Fair-Plugin by @La-Geek in #78
  • zh_TW Language Pack Based on 0.2.0 by @alexclassroom in #79
  • Add Swedish translation (based on POT 2025-06-07) by @tobifjellner in #40
  • Generate POT - 2025-06-12 by @github-actions in #81
  • Improve comments to translators and removing indirect formatting by @tobifjellner in #63
  • Switch escaping to aria-label and change text order. by @joedolson in #83
  • Add fair-de_DE.l10n.php by @Presskopp in #84
  • Correct the text domain for translation files by @johnbillion in #88
  • lt_LT translation for FAIR plugin #17 by @ideag in #20
  • Add Hungarian (hu_HU) translation support by @trueqap in #85
  • Add Dutch translations files (including formal) by @toineenzo in #92
  • Update README.md to change it's to its by @JoeRess in #89
  • Generate POT - 2025-06-16 by @github-actions in #94
  • Estonian translation for FAIR plugin by @webdocdisain in #91
  • fi translation for FAIR plugin #17 by @TeemuSuoranta in #23
  • Fix loading translations by @TeemuSuoranta in #96
  • Add initial PHPUnit test infrastructure. by @costdev in #60
  • Make priority later to override GU data, pref to GUL if present by @afragen in #97
  • Add generate missing i18n files action by @timiwahalahti in #98
  • Update Query Monitor to 3.18.0 by @johnbillion in #93
  • Change type definition on notify_users to allow for null input by @topher1kenobe in #34
  • Add .gitattributes and exclude other development files. by @costdev in #103
  • Use "fair-plugin" in the bundled distribution script. by @costdev in #105
  • [browserslist] Update browser regex by @github-actions in #90
  • Privacy Statement by @Ipstenu in #106
  • Bump the version to 0.3.0 by @rmccue in #107

New Contributors

Milestone: https://github.com/fairpm/fair-plugin/milestone/1?closed=1
Full Changelog: 0.2.0...0.3.0

Release 0.2.0

06 Jun 18:36
17cf9e0

Choose a tag to compare

The initial public release includes the base code that

  • Stops calling home to WordPress.org servers
  • Calls packages from AspireCloud
  • Uses local images instead of Gravatar