diff --git a/.github/ISSUE_TEMPLATE/2_Feature_request.md b/.github/ISSUE_TEMPLATE/2_Feature_request.md deleted file mode 100644 index e530d769..00000000 --- a/.github/ISSUE_TEMPLATE/2_Feature_request.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -name: "Feature request" -about: 'For ideas or feature requests, please make a pull request, or open an issue' ---- diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 6253bb2d..363c660a 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,8 @@ blank_issues_enabled: false contact_links: + - name: Feature request + url: https://github.com/laravel/lumen-framework/pulls + about: 'For ideas or feature requests, send in a pull request' - name: Support Questions & Other url: https://laravel.com/docs/contributions#support-questions about: 'This repository is only for reporting bugs. If you have a question or need help using the library, click:' diff --git a/.github/SECURITY.md b/.github/SECURITY.md index dd673d42..800b8aff 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -15,7 +15,7 @@ If you discover a security vulnerability within Laravel, please send an email to ``` -----BEGIN PGP PUBLIC KEY BLOCK----- Version: OpenPGP v2.0.8 -Comment: https://sela.io/pgp/ +Comment: Report Security Vulnerabilities to taylor@laravel.com xsFNBFugFSQBEACxEKhIY9IoJzcouVTIYKJfWFGvwFgbRjQWBiH3QdHId5vCrbWo s2l+4Rv03gMG+yHLJ3rWElnNdRaNdQv59+lShrZF7Bvu7Zvc0mMNmFOM/mQ/K2Lt diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ebd93595..04f12b47 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,8 +16,11 @@ jobs: strategy: fail-fast: true matrix: - php: [8.2, 8.3] + php: [8.2, 8.3, 8.4] stability: [prefer-lowest, prefer-stable] + exclude: + - php: 8.4 + stability: prefer-lowest name: PHP ${{ matrix.php }} - ${{ matrix.stability }} @@ -38,4 +41,4 @@ jobs: run: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress - name: Execute tests - run: vendor/bin/phpunit + run: vendor/bin/phpunit --display-deprecations --fail-on-deprecation diff --git a/.styleci.yml b/.styleci.yml index e101e8c6..a98cf918 100644 --- a/.styleci.yml +++ b/.styleci.yml @@ -1,5 +1,5 @@ php: preset: laravel - version: 8.1 + version: 8.2 js: true css: true diff --git a/composer.json b/composer.json index 74f5d395..33dea247 100644 --- a/composer.json +++ b/composer.json @@ -43,7 +43,7 @@ "illuminate/view": "^11.0", "illuminate/log": "^11.0", "dragonmantank/cron-expression": "^3.1", - "laravel/prompts": "^0.1.17", + "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0", "nikic/fast-route": "^1.3", "symfony/console": "^7.0", "symfony/error-handler": "^7.0", @@ -54,8 +54,8 @@ "vlucas/phpdotenv": "^5.4.1" }, "require-dev": { - "mockery/mockery": "^1.4.4", - "phpunit/phpunit": "10.5.3" + "mockery/mockery": "^1.6.10", + "phpunit/phpunit": "^10.5.35" }, "suggest": { "laravel/tinker": "Required to use the tinker console command (^2.7).", diff --git a/config/database.php b/config/database.php index 1a1c4d68..0fe4ac68 100644 --- a/config/database.php +++ b/config/database.php @@ -37,12 +37,18 @@ 'sqlite' => [ 'driver' => 'sqlite', + 'url' => env('DB_URL'), 'database' => env('DB_DATABASE', database_path('database.sqlite')), 'prefix' => env('DB_PREFIX', ''), + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + 'busy_timeout' => null, + 'journal_mode' => null, + 'synchronous' => null, ], 'mysql' => [ 'driver' => 'mysql', + 'url' => env('DB_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', 3306), 'database' => env('DB_DATABASE', 'forge'), @@ -52,9 +58,34 @@ 'charset' => env('DB_CHARSET', 'utf8mb4'), 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), 'prefix' => env('DB_PREFIX', ''), + 'prefix_indexes' => env('DB_PREFIX_INDEXES', true), 'strict' => env('DB_STRICT_MODE', true), 'engine' => env('DB_ENGINE'), 'timezone' => env('DB_TIMEZONE', '+00:00'), + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'mariadb' => [ + 'driver' => 'mariadb', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => env('DB_PREFIX', ''), + 'prefix_indexes' => env('DB_PREFIX_INDEXES', true), + 'strict' => env('DB_STRICT_MODE', true), + 'engine' => env('DB_ENGINE'), + 'timezone' => env('DB_TIMEZONE', '+00:00'), + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], ], 'pgsql' => [ @@ -66,12 +97,14 @@ 'password' => env('DB_PASSWORD', ''), 'charset' => env('DB_CHARSET', 'utf8'), 'prefix' => env('DB_PREFIX', ''), + 'prefix_indexes' => env('DB_PREFIX_INDEXES', true), 'search_path' => env('DB_SCHEMA', 'public'), 'sslmode' => env('DB_SSL_MODE', 'prefer'), ], 'sqlsrv' => [ 'driver' => 'sqlsrv', + 'url' => env('DB_URL'), 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', 1433), 'database' => env('DB_DATABASE', 'forge'), @@ -79,6 +112,9 @@ 'password' => env('DB_PASSWORD', ''), 'charset' => env('DB_CHARSET', 'utf8'), 'prefix' => env('DB_PREFIX', ''), + 'prefix_indexes' => env('DB_PREFIX_INDEXES', true), + // 'encrypt' => env('DB_ENCRYPT', 'yes'), + // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), ], ], diff --git a/src/Application.php b/src/Application.php index 11ed70fa..1e690b8e 100644 --- a/src/Application.php +++ b/src/Application.php @@ -169,7 +169,7 @@ public function bootstrapRouter() */ public function version() { - return 'Lumen (11.0.0) (Laravel Components ^11.0)'; + return 'Lumen (11.1.0) (Laravel Components ^11.0)'; } /** diff --git a/src/Testing/Concerns/MakesHttpRequests.php b/src/Testing/Concerns/MakesHttpRequests.php index 1dd3bcae..1559e3a8 100644 --- a/src/Testing/Concerns/MakesHttpRequests.php +++ b/src/Testing/Concerns/MakesHttpRequests.php @@ -195,7 +195,7 @@ public function handle(Request $request) * @param array|null $data * @return $this */ - protected function shouldReturnJson(array $data = null) + protected function shouldReturnJson(?array $data = null) { return $this->receiveJson($data); } @@ -239,7 +239,7 @@ public function seeJsonEquals(array $data) * @param bool $negate * @return $this */ - public function seeJson(array $data = null, $negate = false) + public function seeJson(?array $data = null, $negate = false) { if (is_null($data)) { $decodedResponse = json_decode($this->response->getContent(), true); @@ -262,7 +262,7 @@ public function seeJson(array $data = null, $negate = false) * @param array|null $data * @return $this */ - public function dontSeeJson(array $data = null) + public function dontSeeJson(?array $data = null) { return $this->seeJson($data, true); } @@ -274,7 +274,7 @@ public function dontSeeJson(array $data = null) * @param array|null $responseData * @return $this */ - public function seeJsonStructure(array $structure = null, $responseData = null) + public function seeJsonStructure(?array $structure = null, $responseData = null) { $this->response->assertJsonStructure($structure, $responseData);