Skip to content

Commit e3ab1ac

Browse files
authored
Merge pull request #871 from kenjis/update-min-CI4-version-435
refactor: update minimum CI4 version to 4.3.5
2 parents defdd11 + 4c381f4 commit e3ab1ac

File tree

8 files changed

+34
-76
lines changed

8 files changed

+34
-76
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ See the [An Official Auth Library](https://codeigniter.com/news/shield) for more
6666

6767
Usage of Shield requires the following:
6868

69-
- A [CodeIgniter 4.2.7+](https://github.com/codeigniter4/CodeIgniter4/) based project
69+
- A [CodeIgniter 4.3.5+](https://github.com/codeigniter4/CodeIgniter4/) based project
7070
- [Composer](https://getcomposer.org/) for package management
7171
- PHP 7.4.3+
7272

UPGRADING.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
## Version 1.0.0-beta.6 to 1.0.0-beta.7
44

5+
### The minimum CodeIgniter version
6+
7+
Shield requires CodeIgniter 4.3.5 or later.
8+
Versions prior to 4.3.5 have known vulnerabilities.
9+
See https://github.com/codeigniter4/CodeIgniter4/security/advisories
10+
511
### Mandatory Config Changes
612

713
#### New Config\AuthToken

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"require-dev": {
3232
"codeigniter/phpstan-codeigniter": "^1.3",
3333
"codeigniter4/devkit": "^1.0",
34-
"codeigniter4/framework": "^4.2.7",
34+
"codeigniter4/framework": "^4.3.5",
3535
"firebase/php-jwt": "^6.4",
3636
"mikey179/vfsstream": "^1.6.7",
3737
"mockery/mockery": "^1.0",

docs/getting_started/install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ These instructions assume that you have already [installed the CodeIgniter 4 app
55
## Requirements
66

77
- [Composer](https://getcomposer.org)
8-
- Codeigniter **v4.2.7** or later
8+
- Codeigniter **v4.3.5** or later
99
- A created database that you can access via the Spark CLI script
1010
- InnoDB (not MyISAM) is required if MySQL is used.
1111

src/Test/MockInputOutput.php

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace CodeIgniter\Shield\Test;
66

77
use CodeIgniter\CLI\CLI;
8-
use CodeIgniter\CodeIgniter;
98
use CodeIgniter\Shield\Commands\Utils\InputOutput;
109
use CodeIgniter\Shield\Exceptions\LogicException;
1110
use CodeIgniter\Test\Filters\CITestStreamFilter;
@@ -52,23 +51,21 @@ public function prompt(string $field, $options = null, $validation = null): stri
5251
{
5352
$input = array_shift($this->inputs);
5453

55-
if (version_compare(CodeIgniter::CI_VERSION, '4.3.0', '>=')) {
56-
CITestStreamFilter::registration();
57-
CITestStreamFilter::addOutputFilter();
54+
CITestStreamFilter::registration();
55+
CITestStreamFilter::addOutputFilter();
5856

59-
PhpStreamWrapper::register();
60-
PhpStreamWrapper::setContent($input);
57+
PhpStreamWrapper::register();
58+
PhpStreamWrapper::setContent($input);
6159

62-
$userInput = CLI::prompt($field, $options, $validation);
60+
$userInput = CLI::prompt($field, $options, $validation);
6361

64-
PhpStreamWrapper::restore();
62+
PhpStreamWrapper::restore();
6563

66-
CITestStreamFilter::removeOutputFilter();
67-
CITestStreamFilter::removeErrorFilter();
64+
CITestStreamFilter::removeOutputFilter();
65+
CITestStreamFilter::removeErrorFilter();
6866

69-
if ($input !== $userInput) {
70-
throw new LogicException($input . '!==' . $userInput);
71-
}
67+
if ($input !== $userInput) {
68+
throw new LogicException($input . '!==' . $userInput);
7269
}
7370

7471
return $input;
@@ -79,23 +76,13 @@ public function write(
7976
?string $foreground = null,
8077
?string $background = null
8178
): void {
82-
if (version_compare(CodeIgniter::CI_VERSION, '4.3.0', '>=')) {
83-
CITestStreamFilter::registration();
84-
CITestStreamFilter::addOutputFilter();
85-
} else {
86-
CITestStreamFilter::$buffer = '';
87-
88-
$streamFilter = stream_filter_append(STDOUT, 'CITestStreamFilter');
89-
}
79+
CITestStreamFilter::registration();
80+
CITestStreamFilter::addOutputFilter();
9081

9182
CLI::write($text, $foreground, $background);
9283
$this->outputs[] = CITestStreamFilter::$buffer;
9384

94-
if (version_compare(CodeIgniter::CI_VERSION, '4.3.0', '>=')) {
95-
CITestStreamFilter::removeOutputFilter();
96-
CITestStreamFilter::removeErrorFilter();
97-
} else {
98-
stream_filter_remove($streamFilter);
99-
}
85+
CITestStreamFilter::removeOutputFilter();
86+
CITestStreamFilter::removeErrorFilter();
10087
}
10188
}

tests/Commands/SetupTest.php

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Tests\Commands;
66

7-
use CodeIgniter\CodeIgniter;
87
use CodeIgniter\Shield\Commands\Setup;
98
use CodeIgniter\Test\Filters\CITestStreamFilter;
109
use Config\Services;
@@ -16,31 +15,20 @@
1615
*/
1716
final class SetupTest extends TestCase
1817
{
19-
private $streamFilter;
20-
2118
protected function setUp(): void
2219
{
2320
parent::setUp();
2421

25-
if (version_compare(CodeIgniter::CI_VERSION, '4.3.0', '>=')) {
26-
CITestStreamFilter::registration();
27-
CITestStreamFilter::addOutputFilter();
28-
} else {
29-
CITestStreamFilter::$buffer = '';
30-
$this->streamFilter = stream_filter_append(STDOUT, 'CITestStreamFilter');
31-
}
22+
CITestStreamFilter::registration();
23+
CITestStreamFilter::addOutputFilter();
3224
}
3325

3426
protected function tearDown(): void
3527
{
3628
parent::tearDown();
3729

38-
if (version_compare(CodeIgniter::CI_VERSION, '4.3.0', '>=')) {
39-
CITestStreamFilter::removeOutputFilter();
40-
CITestStreamFilter::removeErrorFilter();
41-
} else {
42-
stream_filter_remove($this->streamFilter);
43-
}
30+
CITestStreamFilter::removeOutputFilter();
31+
CITestStreamFilter::removeErrorFilter();
4432
}
4533

4634
public function testRun(): void

tests/Commands/UserModelGeneratorTest.php

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Tests\Commands;
66

7-
use CodeIgniter\CodeIgniter;
87
use CodeIgniter\Test\CIUnitTestCase;
98
use CodeIgniter\Test\Filters\CITestStreamFilter;
109

@@ -13,22 +12,13 @@
1312
*/
1413
final class UserModelGeneratorTest extends CIUnitTestCase
1514
{
16-
private $streamFilter;
17-
1815
protected function setUp(): void
1916
{
2017
parent::setUp();
2118

22-
if (version_compare(CodeIgniter::CI_VERSION, '4.3.0', '>=')) {
23-
CITestStreamFilter::registration();
24-
CITestStreamFilter::addOutputFilter();
25-
CITestStreamFilter::addErrorFilter();
26-
} else {
27-
CITestStreamFilter::$buffer = '';
28-
29-
$this->streamFilter = stream_filter_append(STDOUT, 'CITestStreamFilter');
30-
$this->streamFilter = stream_filter_append(STDERR, 'CITestStreamFilter');
31-
}
19+
CITestStreamFilter::registration();
20+
CITestStreamFilter::addOutputFilter();
21+
CITestStreamFilter::addErrorFilter();
3222

3323
if (is_file(HOMEPATH . 'src/Models/UserModel.php')) {
3424
copy(HOMEPATH . 'src/Models/UserModel.php', HOMEPATH . 'src/Models/UserModel.php.bak');
@@ -41,12 +31,8 @@ protected function tearDown(): void
4131
{
4232
parent::tearDown();
4333

44-
if (version_compare(CodeIgniter::CI_VERSION, '4.3.0', '>=')) {
45-
CITestStreamFilter::removeOutputFilter();
46-
CITestStreamFilter::removeErrorFilter();
47-
} else {
48-
stream_filter_remove($this->streamFilter);
49-
}
34+
CITestStreamFilter::removeOutputFilter();
35+
CITestStreamFilter::removeErrorFilter();
5036

5137
$this->deleteTestFiles();
5238

tests/Controllers/LoginTest.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Tests\Controllers;
66

7-
use CodeIgniter\CodeIgniter;
87
use CodeIgniter\Config\Factories;
98
use CodeIgniter\I18n\Time;
109
use CodeIgniter\Shield\Authentication\Actions\Email2FA;
@@ -110,11 +109,7 @@ public function testLoginTooLongPasswordArgon2id(): void
110109

111110
public function testLoginActionEmailSuccess(): void
112111
{
113-
if (version_compare(CodeIgniter::CI_VERSION, '4.3.0', '>=')) {
114-
Time::setTestNow('March 10, 2017', 'UTC');
115-
} else {
116-
Time::setTestNow('March 10, 2017', 'America/Chicago');
117-
}
112+
Time::setTestNow('March 10, 2017', 'UTC');
118113

119114
$this->user->createEmailIdentity([
120115
'email' => 'foo@example.com',
@@ -166,11 +161,7 @@ public function testAfterLoggedInNotDisplayLoginPage(): void
166161

167162
public function testLoginActionUsernameSuccess(): void
168163
{
169-
if (version_compare(CodeIgniter::CI_VERSION, '4.3.0', '>=')) {
170-
Time::setTestNow('March 10, 2017', 'UTC');
171-
} else {
172-
Time::setTestNow('March 10, 2017', 'America/Chicago');
173-
}
164+
Time::setTestNow('March 10, 2017', 'UTC');
174165

175166
// Add 'username' to $validFields
176167
$authConfig = config('Auth');

0 commit comments

Comments
 (0)