blakewilson/wp-enforce-semver

A class to enforce SemVer in your WordPress plugins.

2.0.2 2024-02-05 20:14 UTC

This package is auto-updated.

Last update: 2024-04-05 20:47:18 UTC


README

Screenshot of plugins list with Semantic Versioning for WordPress enabled

Easily enforce SemVer in your WordPress plugins.

By using this class, auto updates will be disabled when the plugin's new version is a major update, and provide a helpful notice in the update section of the plugin that there may be breaking changes.

Usage

  1. Install the class as a dependency via composer:
composer require blakewilson/wp-enforce-semver
  1. Initialize the class in your plugin:
// Init autoloader from Composer
if ( file_exists( plugin_dir_path( __FILE__ ) . 'vendor/autoload.php' ) ) {
	require plugin_dir_path( __FILE__ ) . 'vendor/autoload.php';
}

use EnforceSemVer\EnforceSemVer;

new EnforceSemVer('my-plugin/my-plugin.php');

And that's it! Once your end-users install your plugin, they will be protected against auto updates for major releases, and see a helpful message in the plugins list next to your plugin update:

Screenshot of plugins list with Semantic Versioning for WordPress enabled

Additionally, this notice text can be modified via a filter:

add_filter( 'semantic_versioning_notice_text', function($notice_text, $plugin_file_name) {
	// Modify notice text here.

	return $notice_text;
});