=== WP Plugin Update Server === Contributors: frogerme Tags: plugins, themes, updates, license Requires at least: 4.9.5 Tested up to: 4.9.5 Stable tag: 1.2 Requires PHP: 7.0 License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.html Run your own update server for plugins and themes. == Description == WP Plugin Update Server allows developers to provide updates for plugins and themes packages not hosted on wordpress.org. It is useful to provide updates for plugins or themes not compliant with the GPLv2 (or later). It optionally integrates with Software License Manager for license checking. Packages may be either uploaded directly, or hosted in a remote repository, public or private. It supports Bitbucket, Github and Gitlab, as well as self-hosted installations of Gitlab. == Important notes == This plugin is for developers only. For more information, available functions, actions and filters, see [the plugin's full documentation](https://github.com/froger-me/wp-plugin-update-server). Make sure to read the full documentation and the content of the "Help" tab under "WP Plugin Update Server" settings before opening an issue or contacting the author. == Special Thanks == A warm thank you to [Yahnis Elsts](https://github.com/YahnisElsts), the author of [Plugin Update Checker](https://github.com/YahnisElsts/plugin-update-checker) and [WP Update Server](https://github.com/YahnisElsts/wp-update-server) libraries, without whom the creation of this plugin would not have been possible. Authorisation to use these libraries freely provided relevant licenses are included has been graciously granted [here](https://github.com/YahnisElsts/wp-update-server/issues/37#issuecomment-386814776). == Overview == This plugin adds the following major features to WordPress: * **WP Plugin Update Server admin page:** to manage the list of packages and configure the plugin. * **Package management:** to manage update packages, showing a listing with Package Name, Version, Type, File Name, Size, Last Modified and License Status ; includes bulk operations to delete, download and change the license status, and the ability to delete all the packages. * **Add Packages:** Upload update packages from a local machine to the server, or download them to the server from a remote repository. * **General settings:** for archive files download size, cache, and logs, with force clean. * **Packages licensing:** Prevent plugins and themes installed on remote WordPress installation from being updated without a valid license. Check the validity of licenses using Software License Manager, with an extra signature for stronger security. Possibility to use a remote installation of Software License Manager running on a separate WordPress installation. * **Packages remote source:** WP Plugin Update Server can act as a proxy and will help you to connect your clients with your plugins and themes kept on a remote repository, so that they are always up to date. Supports Bitbucket, Github and Gitlab, as well as self-hosted installations of Gitlab. Packages will not be installed on your server, only transferred to the clients whenever they request them. To connect their plugins or themes and WP Plugin Update Server, developers can find integration examples in the `wp-plugin-update-server/integration-examples` directory, or check the [documentation of the WP Package Updater](https://github.com/froger-me/wp-package-updater). In addition, a [Must Use Plugin](https://codex.wordpress.org/Must_Use_Plugins) developers can add to the WordPress installation running WP Plugin Update Server is available in `wp-plugin-update-server/optimisation/wppus-endpoint-optimizer.php`. == Upgrade Information == Upon update to v1.2, the `packages`, `cache`, `logs` and `tmp` directories will be purged automatically for the last time and be permanently deleted. Their counterparts will be automatically created in a `wp-content/wppus` directory (or equivalent if `WP_CONTENT_DIR` is not the default) and will not be purged or deleted upon update from v1.2 onwards. After updating from v1.1 or below, only manually uploaded packages (discouraged) need to be re-uploaded. All the other packages will be pulled again from the remote repository service when an update check is requested - the packages directory will be automatically re-populated over time should the webmaster choose not to prime the packages manually. As usual, no package pulled from a remote repository will be installed on your server, as per the terms of use of WordPess. == Upgrade Notice == The `packages`, `cache`, `logs` and `tmp` directories will be deleted automatically for the last time and migrated in `wp-content/wppus`. See the plugin page for more information. == Roadmap == Aside from minor version updates (bugfixes, interface improvements and simple new features), below is the current roadmap. This can evolve depending on feedback, reviews and popularity. * **v1.3**: Full support for plugin icons & banners and theme details displayed to the client when there is a package update available. * **v1.4**: Drop support for Software License Manager, and handle licenses in WP Plugin Update Server to avoid depending on a possibly unreliable third party plugin. **Provide compatible API calls, seamless upgrade path and backward compatibility**. * **v1.5**: Add statistics for packages passing through WP Plugin Update Server – number of updates, number of installs, etc for each package – potentially with CSV export. * **v1.6**: Optionally include the [WP Package Updater](https://github.com/froger-me/wp-package-updater) and its logic to packages passing through WP Plugin Update Server (has to be done manually in version prior to 1.6, which may potentially lead to errors if not done properly). This feature would be enabled only on an opt-in basis. == Installation == This section describes how to install the plugin and get it working. 1. Upload the plugin files to the `/wp-content/plugins/wp-plugin-update-server` directory, or install the plugin through the WordPress plugins screen directly. 2. Activate the plugin through the 'Plugins' screen in WordPress 3. Edit plugin settings == Changelog == = 1.2 = * Move the plugin data directories to wp-content/wppus directory (or equivalent if WP_CONTENT_DIR is not the default) * Add 13 functions, 18 actions and 8 filters for developers to use in their plugins and themes * Update the client updater: change from `wp-plugin-updater` library to [WP Package Updater](https://github.com/froger-me/wp-package-updater), with backward compatibility until v2.0 * Include [WP Update Migrate](https://github.com/froger-me/wp-update-migrate) library to provide clean and full update path for current and future versions * Interface improvements, documentation and various code refactoring = 1.1 = * General cleanup * Add updater (prototype of WP Update Migrate library) = 1.0.6 = * Remove duplicates for "Remote update check frequency" values * Fallback to the default "Once Daily" if the configured frequency has been removed (i.e. after a third party plugin has been deactivated) * Add "Clear scheduled remote updates" button - useful to clean orphan wp-cron events * Add "Reschedule remote updates" button - useful to reschedule wp-cron events for all existing packages = 1.0.5 = * Refactor update lock mechanism * Force unlock update when adding a package * Refresh interface when clearing cache and logs * Cleanup - remove unused method and reorder methods by scope * Fix "[License manager integration disabled, notification asks for it anyways](https://wordpress.org/support/topic/license-manager-integration-disabled-notification-asks-for-it-anyways/)" = 1.0.4 = * More zip MIME types supported - frontend * Cleanup Dummy Theme * Clarification of help tab - description of remote repository structure * Add warning to readme.txt = 1.0.3 = * More path normalization of dummy packages (Windows support) * More zip MIME types supported - backend * Clarification of help tab - update checker code and libraries are **required** = 1.0.2 = * Use proper directory separator * Add WP Plugin Udpate Server to the list of plugins to keep active in the request optimizer = 1.0.1 = * Normalize path of dummy packages (Windows support) * Remove development comments * Fix path in help tab = 1.0 = * First version