diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index f22801b8..e6507490 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
- php-versions: ['7.1', '7.2', '7.3', '7.4']
+ php-versions: ['7.4']
steps:
- uses: actions/checkout@v2
- uses: shivammathur/setup-php@v2
@@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
- php-versions: ['7.1', '7.4']
+ php-versions: ['7.4']
steps:
- uses: actions/checkout@v2
- uses: shivammathur/setup-php@v2
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 61985342..4920aa7c 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -7,24 +7,11 @@ on:
branches: [ master ]
jobs:
- phpunit7:
- runs-on: ubuntu-20.04
- strategy:
- matrix:
- php-versions: ['7.1', '7.2', '7.3']
- steps:
- - uses: actions/checkout@v2
- - uses: shivammathur/setup-php@v2
- with:
- php-version: ${{ matrix.php-versions }}
- - run: composer global require phpunit/phpunit ^7
- - run: phpunit --configuration=phpunit.xml --include-path=lib/
-
phpunit8:
runs-on: ubuntu-20.04
strategy:
matrix:
- php-versions: ['7.3', '7.4', '8.0', '8.1']
+ php-versions: ['7.4', '8.0', '8.1']
steps:
- uses: actions/checkout@v2
- uses: shivammathur/setup-php@v2
diff --git a/README.md b/README.md
index 540e755e..22966772 100644
--- a/README.md
+++ b/README.md
@@ -60,7 +60,7 @@ RSS-Bridge hashtag (#rss-bridge) search on Twitter, in Atom format (as displayed
Requirements
===
-RSS-Bridge requires PHP 7.1 or higher with following extensions enabled:
+RSS-Bridge requires PHP 7.4 or higher with following extensions enabled:
- [`openssl`](https://secure.php.net/manual/en/book.openssl.php)
- [`libxml`](https://secure.php.net/manual/en/book.libxml.php)
@@ -349,7 +349,6 @@ RSS-Bridge uses third party libraries with their own license:
* [`Parsedown`](https://github.com/erusev/parsedown) licensed under the [MIT License](https://opensource.org/licenses/MIT)
* [`PHP Simple HTML DOM Parser`](https://simplehtmldom.sourceforge.io/docs/1.9/index.html) licensed under the [MIT License](https://opensource.org/licenses/MIT)
* [`php-urljoin`](https://github.com/fluffy-critter/php-urljoin) licensed under the [MIT License](https://opensource.org/licenses/MIT)
- * [php polyfills](https://github.com/symfony/polyfill) licensed under the [MIT License](https://opensource.org/licenses/MIT)
* [`Laravel framework`](https://github.com/laravel/framework/) licensed under the [MIT License](https://opensource.org/licenses/MIT)
Technical notes
diff --git a/bridges/BandcampDailyBridge.php b/bridges/BandcampDailyBridge.php
index a512022d..827cf9cd 100644
--- a/bridges/BandcampDailyBridge.php
+++ b/bridges/BandcampDailyBridge.php
@@ -148,8 +148,7 @@ class BandcampDailyBridge extends BridgeAbstract {
case 'Best of':
case 'Genres':
case 'Franchises':
- // TODO Switch to array_key_first once php >= 7.3
- $contentKey = key(self::PARAMETERS[$this->queriedContext]);
+ $contentKey = array_key_first(self::PARAMETERS[$this->queriedContext]);
$contentValues = array_flip(self::PARAMETERS[$this->queriedContext][$contentKey]['values']);
return $contentValues[$this->getInput($contentKey)] . ' - Bandcamp Daily';
diff --git a/composer.json b/composer.json
index c6b1b378..4a63e72e 100644
--- a/composer.json
+++ b/composer.json
@@ -22,7 +22,7 @@
"rss": "https://github.com/RSS-Bridge/rss-bridge/commits/master.atom"
},
"require": {
- "php": ">=7.1",
+ "php": ">=7.4",
"ext-mbstring": "*",
"ext-curl": "*",
"ext-openssl": "*",
diff --git a/lib/Configuration.php b/lib/Configuration.php
index 6f9d7943..e97e7d6b 100644
--- a/lib/Configuration.php
+++ b/lib/Configuration.php
@@ -79,9 +79,9 @@ final class Configuration {
public static function verifyInstallation() {
// Check PHP version
- if(version_compare(PHP_VERSION, '7.1.0') === -1)
- self::reportError('RSS-Bridge requires at least PHP version 7.1.0!');
-
+ if(version_compare(PHP_VERSION, '7.4.0') === -1) {
+ self::reportError('RSS-Bridge requires at least PHP version 7.4.0!');
+ }
// extensions check
if(!extension_loaded('openssl'))
self::reportError('"openssl" extension not loaded. Please check "php.ini"');
diff --git a/lib/php8backports.php b/lib/php8backports.php
index 367e3a8f..3b2bb966 100644
--- a/lib/php8backports.php
+++ b/lib/php8backports.php
@@ -50,37 +50,3 @@ if (!function_exists('str_contains')) {
return $needle !== '' && mb_strpos($haystack, $needle) !== false;
}
}
-
-// php 7.3 https://github.com/symfony/polyfill/blob/main/src/Php73/bootstrap.php
-//
-// Copyright (c) 2018-2019 Fabien Potencier
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is furnished
-// to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-if (!function_exists('array_key_first')) {
- function array_key_first(array $array) {
- foreach ($array as $key => $value) {
- return $key;
- }
- }
-}
-if (!function_exists('array_key_last')) {
- function array_key_last(array $array) {
- return key(array_slice($array, -1, 1, true));
- }
-}
diff --git a/phpcompatibility.xml b/phpcompatibility.xml
index 7ced67dc..2726bfcb 100644
--- a/phpcompatibility.xml
+++ b/phpcompatibility.xml
@@ -8,7 +8,7 @@
-
+