Skip to:
Content

BuddyPress.org

Changeset 14014


Ignore:
Timestamp:
09/02/2024 10:45:11 PM (2 months ago)
Author:
espellcaste
Message:

Raise the minimum supported WordPress and PHP versions.

The new minimum WordPress version supported is 6.4.
The new minimum PHP version supported is 7.0.

Props imath.
Fixes #9225

Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/.editorconfig

    r11946 r14014  
    2121trim_trailing_whitespace = false
    2222
    23 [{*.txt}]
     23[*.txt]
    2424end_of_line = crlf
  • trunk/.github/workflows/unit-test-object.yml

    r13859 r14014  
    1 name: Unit Tests - Object Cache Service
     1name: Unit Tests
    22
    33on:
     
    1212jobs:
    1313  tests:
    14     name: "Object Service ${{ matrix.object }} - WP: ${{ matrix.wp_version }} - PHP: ${{ matrix.php }}"
    1514    strategy:
    1615      fail-fast: false
    1716      matrix:
    18         php: ['8.3']
    19         wp_version: ['trunk', 'latest', '6.1']
    20         multisite: [true, false]
    21         object: ["false", "memcached", "redis"]
     17        include:
     18          - php: '8.3'
     19            wp_version: 'trunk'
     20            object: 'redis'
     21            multisite: true
     22          - php: '8.3'
     23            wp_version: 'trunk'
     24            object: 'memcached'
     25            multisite: false
     26          - php: '8.2'
     27            wp_version: '6.4'
     28            object: ''
     29            multisite: false
     30          - php: '8.2'
     31            wp_version: 'latest'
     32            object: ''
     33            multisite: false
     34          - php: '8.1'
     35            wp_version: 'latest'
     36            object: ''
     37            multisite: false
     38          - php: '7.4'
     39            wp_version: '6.4'
     40            object: ''
     41            multisite: false
     42          - php: '7.4'
     43            wp_version: '6.4'
     44            object: ''
     45            multisite: true
    2246    uses: alleyinteractive/.github/.github/workflows/php-tests.yml@main
    2347    with:
  • trunk/.github/workflows/unit-tests.yml

    r13969 r14014  
    1 name: Unit Tests
    2 
    3 on:
    4   pull_request:
    5     paths-ignore:
    6       - 'docs/**'
    7   push:
    8     branches: [ master ]
    9     paths-ignore:
    10       - 'docs/**'
    11 
    12 jobs:
    13   tests:
    14     name: "WP: ${{ matrix.wp_version }} - PHP: ${{ matrix.php }}"
    15     runs-on: ubuntu-latest
    16     strategy:
    17       fail-fast: false
    18       matrix:
    19         php: ['7.4', '8.0', '8.1', '8.2', '8.3']
    20         wp_version: ['master']
    21         include:
    22           - php: '8.0'
    23             wp_version: 'latest'
    24           - php: '7.4'
    25             wp_version: 'latest'
    26           - php: '7.4'
    27             wp_version: '6.1'
    28     env:
    29       WP_ENV_PHP_VERSION: ${{ matrix.php }}
    30       WP_VERSION: ${{ matrix.wp_version }}
    31 
    32     steps:
    33       - name: Cancel previous runs of this workflow
    34         uses: styfle/cancel-workflow-action@0.12.1
    35         with:
    36           access_token: ${{ github.token }}
    37 
    38       - name: Checkout repository
    39         uses: actions/checkout@v4
    40 
    41       - name: Check Gitignored files
    42         run: if [[ ! -z $(git ls-files -i --exclude-standard) ]]; then exit 1; fi
    43 
    44       - name: Setup PHP
    45         uses: shivammathur/setup-php@v2
    46         with:
    47           php-version: ${{ matrix.php }}
    48           extensions: gd, imagick, mysql, zip
    49           coverage: none
    50           tools: composer:v2
    51 
    52       - name: Set up Node.js
    53         uses: actions/setup-node@v4
    54         with:
    55           node-version: '>=20.10.0'
    56 
    57       - name: Log information
    58         run: |
    59           echo "$GITHUB_REF"
    60           echo "$GITHUB_EVENT_NAME"
    61           npm --version
    62           node --version
    63           git --version
    64           php --version
    65           composer --version
    66 
    67       - name: Install Composer dependencies
    68         uses: ramsey/composer-install@v3
    69 
    70       - name: Cache node modules
    71         uses: actions/cache@v4
    72         env:
    73           cache-name: cache-node-modules
    74         with:
    75           # npm cache files are stored in `~/.npm` on Linux/macOS
    76           path: ~/.npm
    77           key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
    78           restore-keys: |
    79             ${{ runner.os }}-build-${{ env.cache-name }}-
    80             ${{ runner.os }}-build-
    81             ${{ runner.os }}-
    82 
    83       - name: Validate node modules
    84         run: if [[ -f package.json ]]; then npm audit --audit-level=high --production --cache ~/.npm; fi
    85 
    86       - name: Install node modules
    87         run: npm ci --cache ~/.npm
    88 
    89       - name: Setup WordPress
    90         run: |
    91           if [ ${{ env.WP_VERSION }} == 'latest' ]; then
    92             echo "{\"core\":null}" >> .wp-env.override.json
    93           else
    94             echo "{\"core\":\"WordPress/WordPress#${WP_VERSION}\"}" >> .wp-env.override.json
    95           fi
    96 
    97       - name: Install WordPress
    98         run: |
    99           chmod -R 767 ./
    100           npm run wp-env start -- --update
    101 
    102       - name: Running single site unit tests
    103         if: ${{ success() || failure() }}
    104         run: npm run test-php
    105 
    106       - name: Running multi site unit tests
    107         if: ${{ success() || failure() }}
    108         run: npm run test-php-multisite
    109 
    110       - name: Stop Docker environment
    111         if: ${{ success() || failure() }}
    112         run: npm run wp-env stop
  • trunk/README.md

    r12992 r14014  
    5555## Credentials
    5656
    57 To login to the site, navigate to http://localhost:8888/wp-admin.
     57To log in to the site, navigate to http://localhost:8888/wp-admin.
    5858
    5959* Username: `admin`
  • trunk/bp-loader.php

    r13953 r14014  
    2020 * Text Domain:       buddypress
    2121 * Domain Path:       /bp-languages/
    22  * Requires PHP:      5.6
    23  * Requires at least: 6.1
     22 * Requires PHP:      7.0
     23 * Requires at least: 6.4
    2424 * Version:           15.0.0-alpha
    2525 */
     
    2929
    3030// Assume you want to load from build
    31 $bp_loader = dirname( __FILE__ ) . '/build/bp-loader.php';
     31$bp_loader = __DIR__ . '/build/bp-loader.php';
    3232
    3333// Load from source if no build exists
    3434if ( ! file_exists( $bp_loader ) || defined( 'BP_LOAD_SOURCE' ) ) {
    35     $bp_loader = dirname( __FILE__ ) . '/src/bp-loader.php';
     35    $bp_loader = __DIR__ . '/src/bp-loader.php';
    3636    $bp_subdir = 'src';
    3737} else {
     
    5252
    5353// Include BuddyPress
    54 include( $bp_loader );
     54require $bp_loader;
    5555
    5656// Unset vars that were invoked in global scope
  • trunk/composer.json

    r13872 r14014  
    3636    },
    3737    "require": {
    38         "php": ">=5.6.0"
     38        "php": ">=7.0.0"
    3939    },
    4040    "require-dev": {
     
    5050        "phpcbf": "@php ./vendor/bin/phpcbf . --basepath=.",
    5151        "phpcs-escape": "@php ./vendor/bin/phpcs src --extensions=php -sp --standard=BuddyPress --sniffs=WordPress.Security.EscapeOutput,WordPress.Security.SafeRedirect",
    52         "phpcompat": "@php ./vendor/bin/phpcs --standard=PHPCompatibilityWP --extensions=php -sp --runtime-set testVersion 5.6- src tests",
     52        "phpcompat": "@php ./vendor/bin/phpcs --standard=PHPCompatibilityWP --extensions=php -sp --runtime-set testVersion 7.0- src tests",
    5353        "test:watch": [
    5454            "Composer\\Config::disableProcessTimeout",
  • trunk/phpcs.xml.dist

    r13972 r14014  
    2626    <arg name="severity" value="1"/>
    2727
     28    <!-- Check against minimum PHP version, currently 7.0. -->
     29    <config name="testVersion" value="7.0-"/>
     30
     31    <!-- Check against minimum WP version, currently 6.4. -->
     32    <config name="minimum_wp_version" value="6.4"/>
     33
    2834    <!-- What to exclude -->
    2935    <exclude-pattern>*/**/tests/</exclude-pattern>
  • trunk/src/bp-loader.php

    r13953 r14014  
    2020 * Text Domain:       buddypress
    2121 * Domain Path:       /bp-languages/
    22  * Requires PHP:      5.6
    23  * Requires at least: 6.1
     22 * Requires PHP:      7.0
     23 * Requires at least: 6.4
    2424 * Version:           15.0.0-alpha
    2525 */
     
    3434
    3535// Required PHP version.
    36 define( 'BP_REQUIRED_PHP_VERSION', '5.6.0' );
     36define( 'BP_REQUIRED_PHP_VERSION', '7.0.0' );
    3737
    3838/**
     
    7777    return;
    7878} else {
    79     require dirname( __FILE__ ) . '/class-buddypress.php';
     79    require __DIR__ . '/class-buddypress.php';
    8080
    8181    /*
     
    8989        add_action( 'plugins_loaded', 'buddypress', (int) BUDDYPRESS_LATE_LOAD );
    9090
    91     // "And now here's something we hope you'll really like!".
     91        // "And now here's something we hope you'll really like!".
    9292    } else {
    9393        $GLOBALS['bp'] = buddypress();
  • trunk/src/readme.txt

    r13963 r14014  
    55License:           GNU General Public License v2 or later
    66License URI:       https://www.gnu.org/licenses/gpl-2.0.html
    7 Requires PHP:      5.6
    8 Requires at least: 6.1
     7Requires PHP:      7.0
     8Requires at least: 6.4
    99Tested up to:      6.6
    1010Stable tag:        14.0.0
     
    5656
    5757* PHP version 7.4 or greater.
    58 * MySQL version 5.7 or greater OR MariaDB version 10.4 or greater.
     58* MySQL version 8.0 or greater OR MariaDB version 10.5 or greater.
    5959* HTTPS support
    6060
     
    6363= Automatic installation =
    6464
    65 Automatic installation is the easiest option as WordPress handles everything itself. To do an automatic install of BuddyPress, log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.
     65Automatic installation is the easiest option as WordPress handles everything itself. To do an automatic installation of BuddyPress, log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.
    6666
    6767In the search field type "BuddyPress" and click Search Plugins. Once you've found it, you can view details about the latest release, such as community reviews, ratings, and description. Install BuddyPress by simply pressing "Install Now".
Note: See TracChangeset for help on using the changeset viewer.