Skip to content
This repository was archived by the owner on Jun 15, 2022. It is now read-only.

Commit 587ce29

Browse files
authored
Merge pull request #120 from liquidweb/feature/compatibility-policy
Define the compatibility policy for the plugin
2 parents dca306d + 01f8d45 commit 587ce29

File tree

4 files changed

+33
-26
lines changed

4 files changed

+33
-26
lines changed

.travis.yml

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,25 @@ cache:
1010
- $HOME/.composer/cache
1111

1212
php:
13+
- 7.4snapshot
1314
- 7.3
1415
- 7.2
1516
- 7.1
1617
- 7.0
1718

19+
# Compatibility policy:
20+
#
21+
# - WordPress: latest -1
22+
# - WooCommerce: latest -2
23+
#
24+
# Note: Since WordPress 5.0+ requires WooCommerce 3.5.1+, we don't need to go back
25+
# to WooCommerce 3.4.x. Once 3.7.x is released,
1826
env:
19-
- WP_VERSION=latest WC_VERSION=latest
20-
- WP_VERSION=4.9.9 WC_VERSION=latest
21-
- WP_VERSION=4.9.9 WC_VERSION=3.4.7
22-
- WP_VERSION=4.9.9 WC_VERSION=3.3.5
23-
- WP_VERSION=4.9.9 WC_VERSION=3.2.6
27+
- WP_VERSION=5.2 WC_VERSION=3.6
28+
- WP_VERSION=5.2 WC_VERSION=3.5
29+
- WP_VERSION=5.1 WC_VERSION=3.6
30+
- WP_VERSION=5.1 WC_VERSION=3.5
2431

25-
# Considerations for the test matrix:
26-
#
27-
# - The "WC Requires At Least" is 3.2.6, so that's the lowest we need to go
28-
# - WordPress < 5.0 doesn't officially support PHP 7.3.
29-
# - WordPress 5.0 requires at least WooCommerce 3.5.1
3032
matrix:
3133
fast_finish: true
3234
include:
@@ -37,23 +39,14 @@ matrix:
3739
php: 7.2
3840
env: WP_VERSION=latest WC_VERSION=latest RUN_CODE_COVERAGE=1
3941
- name: Bleeding Edge
40-
php: 7.3
42+
php: nightly
4143
env: WP_VERSION=trunk WC_VERSION=latest
42-
exclude:
43-
- php: 7.3
44-
env: WP_VERSION=4.9.9 WC_VERSION=latest
45-
- php: 7.3
46-
env: WP_VERSION=4.9.9 WC_VERSION=3.4.7
47-
- php: 7.3
48-
env: WP_VERSION=4.9.9 WC_VERSION=3.3.5
49-
- php: 7.3
50-
env: WP_VERSION=4.9.9 WC_VERSION=3.2.6
5144
allow_failures:
5245
- name: Code Coverage
5346
php: 7.2
5447
env: WP_VERSION=latest WC_VERSION=latest RUN_CODE_COVERAGE=1
5548
- name: Bleeding Edge
56-
php: 7.3
49+
php: nightly
5750
env: WP_VERSION=trunk WC_VERSION=latest
5851

5952
before_script:

CONTRIBUTING.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,23 @@ If you're interested in contributing to the plugin by way of code and/or documen
2626

2727
This project adheres to the [WordPress coding standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/), and [an `.editorconfig` file](http://editorconfig.org/) is included in the repository to help most <abbr title="Integrated Development Environment">IDE</abbr>s adjust accordingly. The repository also ships with [the WooCommerce git hooks](https://github.com/woocommerce/woocommerce-git-hooks) to aid in development.
2828

29-
As a general rule, we strive to maintain 100% compatibility with [the latest stable release of WooCommerce](https://github.com/woocommerce/woocommerce/releases/latest):
29+
### Compatibility policy
30+
31+
WooCommerce Custom Orders Table is designed to take advantage of the latest and greatest versions of WordPress and WooCommerce. Keeping both WordPress and WooCommerce up-to-date ensures that stores are able to take advantage of the latest WooCommerce features and security fixes.
3032

3133
[![GitHub release](https://img.shields.io/github/release/woocommerce/woocommerce.svg)](https://github.com/woocommerce/woocommerce/releases/latest)
3234

33-
As part of this commitment to compatibility, WooCommerce Custom Orders Table also targets PHP 5.2 as a minimum PHP version for the core plugin files (with the exception of the `WooCommerce_Custom_Orders_Table_CLI` class, which uses the WP-CLI minimum of PHP 5.3). The `tests/` directory, however, is accepting of modern (7.x) PHP.
35+
As such, the backwards compatibility policy for WooCommerce Custom Orders Table is:
36+
37+
* The plugin must be compatible with two latest **major** versions of WordPress core (e.g. If the current release of WordPress is 5.2.x, the plugin must be compatible with 5.2.x and 5.1.x).
38+
* The plugin must be compatible with the three latest **minor** releases of WooCommerce.
39+
- WooCommerce 3.0 switched to [semantic versioning](https://woocommerce.wordpress.com/2017/03/13/important-update-regarding-the-upcoming-woocommerce-release-2-7-will-be-3-0-0/), so if WooCommerce 3.7.x is current, the plugin must also be compatible with 3.6.x and 3.5.x.
40+
* In the case that a WordPress release requires a specific version of WooCommerce (for example, WordPress 5.0 requires WooCommerce 3.5.1 or higher), the WordPress compatibility will supersede the WooCommerce compatibility requirement.
41+
* Compatibility will be based on the latest **patch** releases of both WordPress and WooCommerce (e.g. if WooCommerce 3.6.2 patches a bug in WooCommerce 3.6.1, our 3.6.x commitment will be 3.6.2 or newer).
42+
43+
As part of this commitment to compatibility, WooCommerce Custom Orders Table will continue to target PHP 5.2 as a minimum PHP version for the core plugin files (with the exception of the `WooCommerce_Custom_Orders_Table_CLI` class, which uses the WP-CLI minimum of PHP 5.3) until WordPress 5.3 is released. At that point, we'll be able to drop support for WordPress 5.1 and, as a result, PHP versions prior to 5.6.
44+
45+
The `tests/` directory, however, is accepting of modern (7.x) PHP.
3446

3547

3648
### Branching strategy
@@ -54,6 +66,8 @@ WooCommerce Custom Orders Table extends WooCommerce's own test suite (which uses
5466

5567
When submitting pull requests, please include relevant tests for your new features and bug-fixes. This helps prevent regressions in future iterations of the plugin, and helps instill confidence in store owners using this to enhance their WooCommerce stores.
5668

69+
Please note that WooCommerce's `master` branch will occasionally include failing tests, which should *not* be treated as a blocker for merging pull requests on this repo as long as the failing tests are within the "core" test suite **and** the same tests are failing against WooCommerce's `master` branch](https://travis-ci.org/woocommerce/woocommerce).
70+
5771
#### Test coverage
5872

5973
[![Coverage Status](https://coveralls.io/repos/github/liquidweb/woocommerce-custom-orders-table/badge.svg?branch=develop)](https://coveralls.io/github/liquidweb/woocommerce-custom-orders-table?branch=develop)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ WooCommerce Custom Orders Table uses the WooCommerce CRUD design to save order d
1717

1818
## Requirements
1919

20-
WooCommerce Custom Orders Table requires [WooCommerce 3.2.6 or newer](https://wordpress.org/plugins/woocommerce/).
20+
WooCommerce Custom Orders Table requires [WooCommerce 3.5.1 or newer](https://wordpress.org/plugins/woocommerce/).
2121

2222
If you're looking to migrate existing order data, [you'll need to have the ability to run WP-CLI commands in your WooCommerce environment](http://wp-cli.org/).
2323

woocommerce-custom-orders-table.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
* License: GPL2
1010
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
1111
*
12-
* WC requires at least: 3.2.6
13-
* WC tested up to: 3.5.2
12+
* WC requires at least: 3.5.1
13+
* WC tested up to: 3.6.4
1414
*
1515
* @package WooCommerce_Custom_Orders_Table
1616
* @author Liquid Web

0 commit comments

Comments
 (0)