From 840e87fed07455f26283b4dad433103a4b2a3317 Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Wed, 15 Jan 2025 21:43:40 -0500 Subject: [PATCH 1/4] [Feature] Stats API endpoint (#1994) --- app/Helpers/Bitrate.php | 2 +- app/Http/Controllers/Api/V1/ApiController.php | 3 +- app/Http/Controllers/Api/V1/Stats.php | 41 ++++++++++++++++ app/Http/Resources/V1/StatResource.php | 49 +++++++++++++++++++ routes/api/v1/routes.php | 4 ++ 5 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 app/Http/Controllers/Api/V1/Stats.php create mode 100644 app/Http/Resources/V1/StatResource.php diff --git a/app/Helpers/Bitrate.php b/app/Helpers/Bitrate.php index 307df3ccc..ba646cade 100644 --- a/app/Helpers/Bitrate.php +++ b/app/Helpers/Bitrate.php @@ -32,7 +32,7 @@ public static function bytesToBits(int|float $bytes): int|float } // 1 byte = 8 bits - return $bytes * 8; + return round($bytes * 8); } /** diff --git a/app/Http/Controllers/Api/V1/ApiController.php b/app/Http/Controllers/Api/V1/ApiController.php index 00637c38b..7c77c242a 100644 --- a/app/Http/Controllers/Api/V1/ApiController.php +++ b/app/Http/Controllers/Api/V1/ApiController.php @@ -17,10 +17,11 @@ abstract class ApiController * @param int $code * @return \Illuminate\Http\JsonResponse */ - public static function sendResponse($data, $message = 'ok', $code = 200) + public static function sendResponse($data, $filters = [], $message = 'ok', $code = 200) { $response = array_filter([ 'data' => $data, + 'filters' => $filters, 'message' => $message, ]); diff --git a/app/Http/Controllers/Api/V1/Stats.php b/app/Http/Controllers/Api/V1/Stats.php new file mode 100644 index 000000000..dcf3691e3 --- /dev/null +++ b/app/Http/Controllers/Api/V1/Stats.php @@ -0,0 +1,41 @@ +selectRaw('count(*) as total_results') + ->selectRaw('avg(ping) as avg_ping') + ->selectRaw('avg(download) as avg_download') + ->selectRaw('avg(upload) as avg_upload') + ->selectRaw('min(ping) as min_ping') + ->selectRaw('min(download) as min_download') + ->selectRaw('min(upload) as min_upload') + ->selectRaw('max(ping) as max_ping') + ->selectRaw('max(download) as max_download') + ->selectRaw('max(upload) as max_upload') + ->AllowedFilters([ + AllowedFilter::operator(name: 'start_at', internalName: 'created_at', filterOperator: FilterOperator::DYNAMIC), + AllowedFilter::operator(name: 'end_at', internalName: 'created_at', filterOperator: FilterOperator::DYNAMIC), + ]) + ->first(); + + return self::sendResponse( + data: new StatResource($stats), + filters: $request->input('filter'), + ); + } +} diff --git a/app/Http/Resources/V1/StatResource.php b/app/Http/Resources/V1/StatResource.php new file mode 100644 index 000000000..8b8033eee --- /dev/null +++ b/app/Http/Resources/V1/StatResource.php @@ -0,0 +1,49 @@ + + */ + public function toArray(Request $request): array + { + return [ + 'ping' => [ + 'avg' => round($this->avg_ping, 2), + 'min' => round($this->min_ping, 2), + 'max' => round($this->max_ping, 2), + ], + 'download' => [ + 'avg' => round($this->avg_download), + 'avg_bits' => $this->when($this->avg_download, fn (): int|float => Bitrate::bytesToBits($this->avg_download)), + 'avg_bits_human' => $this->when($this->avg_download, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->avg_download)).'ps'), + 'min' => round($this->min_download), + 'min_bits' => $this->when($this->min_download, fn (): int|float => Bitrate::bytesToBits($this->min_download)), + 'min_bits_human' => $this->when($this->min_download, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->min_download)).'ps'), + 'max' => round($this->max_download), + 'max_bits' => $this->when($this->max_download, fn (): int|float => Bitrate::bytesToBits($this->max_download)), + 'max_bits_human' => $this->when($this->max_download, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->max_download)).'ps'), + ], + 'upload' => [ + 'avg' => round($this->avg_upload), + 'avg_bits' => $this->when($this->avg_upload, fn (): int|float => Bitrate::bytesToBits($this->avg_upload)), + 'avg_bits_human' => $this->when($this->avg_upload, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->avg_upload)).'ps'), + 'min' => round($this->min_upload), + 'min_bits' => $this->when($this->min_upload, fn (): int|float => Bitrate::bytesToBits($this->min_upload)), + 'min_bits_human' => $this->when($this->min_upload, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->min_upload)).'ps'), + 'max' => round($this->max_upload), + 'max_bits' => $this->when($this->max_upload, fn (): int|float => Bitrate::bytesToBits($this->max_upload)), + 'max_bits_human' => $this->when($this->max_upload, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->max_upload)).'ps'), + ], + 'total_results' => $this->total_results, + ]; + } +} diff --git a/routes/api/v1/routes.php b/routes/api/v1/routes.php index b9609c4b3..f553176cc 100644 --- a/routes/api/v1/routes.php +++ b/routes/api/v1/routes.php @@ -3,6 +3,7 @@ use App\Http\Controllers\Api\V1\LatestResult; use App\Http\Controllers\Api\V1\ListResults; use App\Http\Controllers\Api\V1\ShowResult; +use App\Http\Controllers\Api\V1\Stats; use Illuminate\Support\Facades\Route; Route::prefix('v1')->name('api.v1.')->group(function () { @@ -14,4 +15,7 @@ Route::get('/results/{result}', ShowResult::class) ->name('results.show'); + + Route::get('/stats', Stats::class) + ->name('stats'); }); From a3b3ef9d9bdbfe5bb0deee3f85a2ce6d0a8fd8e3 Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Sat, 18 Jan 2025 09:57:47 -0500 Subject: [PATCH 2/4] [Bug] Fixed dynamic filters for `start_at` and `end_at` in ListResults API (#1998) --- app/Http/Controllers/Api/V1/ListResults.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/V1/ListResults.php b/app/Http/Controllers/Api/V1/ListResults.php index 7cc136b76..d0789df8a 100644 --- a/app/Http/Controllers/Api/V1/ListResults.php +++ b/app/Http/Controllers/Api/V1/ListResults.php @@ -43,8 +43,16 @@ public function __invoke(Request $request) AllowedFilter::exact('healthy')->nullable(), AllowedFilter::exact('status'), AllowedFilter::exact('scheduled'), - AllowedFilter::operator('created_at', FilterOperator::DYNAMIC), - AllowedFilter::operator('updated_at', FilterOperator::DYNAMIC), + AllowedFilter::operator( + name: 'start_at', + internalName: 'created_at', + filterOperator: FilterOperator::DYNAMIC, + ), + AllowedFilter::operator( + name: 'end_at', + internalName: 'created_at', + filterOperator: FilterOperator::DYNAMIC, + ), ]) ->allowedSorts([ 'ping', From 34b18d45bb74d5ce33c3baab62edd50d302851a2 Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Sat, 18 Jan 2025 10:02:44 -0500 Subject: [PATCH 3/4] Laravel 11.38.2 Shift (#1992) Co-authored-by: Shift --- composer.json | 16 ++-- composer.lock | 230 +++++++++++++++++++++++++------------------------- 2 files changed, 121 insertions(+), 125 deletions(-) diff --git a/composer.json b/composer.json index 01c55968b..5d18d6638 100644 --- a/composer.json +++ b/composer.json @@ -24,29 +24,29 @@ "guzzlehttp/guzzle": "^7.9.2", "influxdata/influxdb-client-php": "^3.6", "laravel-notification-channels/telegram": "^5.0", - "laravel/framework": "^11.37", - "laravel/prompts": "^0.3.2", + "laravel/framework": "^11.38.2", + "laravel/prompts": "^0.3.3", "laravel/sanctum": "^4.0.7", "laravel/tinker": "^2.10.0", "livewire/livewire": "^3.5.18", "lorisleiva/laravel-actions": "^2.8.5", "maennchen/zipstream-php": "^2.4", - "ryangjchandler/blade-tabler-icons": "^2.3", + "secondnetwork/blade-tabler-icons": "^3.28", "spatie/laravel-json-api-paginate": "^1.16.1", "spatie/laravel-query-builder": "^6.3", "spatie/laravel-settings": "^3.4", "spatie/laravel-webhook-server": "^3.8.2", "timokoerber/laravel-one-time-operations": "^1.4.4", - "zircote/swagger-php": "^5.0" + "zircote/swagger-php": "^5.0.3" }, "require-dev": { "fakerphp/faker": "^1.24.1", - "laravel/pint": "^1.19.0", - "laravel/sail": "^1.39.1", - "laravel/telescope": "^5.2.6", + "laravel/pint": "^1.20.0", + "laravel/sail": "^1.40.0", + "laravel/telescope": "^5.3.0", "mockery/mockery": "^1.6.12", "nunomaduro/collision": "^8.5.0", - "phpunit/phpunit": "^11.5.2", + "phpunit/phpunit": "^11.5.3", "spatie/laravel-ignition": "^2.9.0", "tightenco/duster": "^3.1.0" }, diff --git a/composer.lock b/composer.lock index 872898368..06c59e00b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "937d98ac4b6d88d6a5878895669f2915", + "content-hash": "933bfec8bdbfb5e0f4cfe0579fa0e76e", "packages": [ { "name": "anourvalar/eloquent-serialize", @@ -712,16 +712,16 @@ }, { "name": "doctrine/dbal", - "version": "4.2.1", + "version": "4.2.2", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "dadd35300837a3a2184bd47d403333b15d0a9bd0" + "reference": "19a2b7deb5fe8c2df0ff817ecea305e50acb62ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/dadd35300837a3a2184bd47d403333b15d0a9bd0", - "reference": "dadd35300837a3a2184bd47d403333b15d0a9bd0", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/19a2b7deb5fe8c2df0ff817ecea305e50acb62ec", + "reference": "19a2b7deb5fe8c2df0ff817ecea305e50acb62ec", "shasum": "" }, "require": { @@ -734,16 +734,14 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.2", - "phpstan/phpstan": "1.12.6", - "phpstan/phpstan-phpunit": "1.4.0", - "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "10.5.30", - "psalm/plugin-phpunit": "0.19.0", + "phpstan/phpstan": "2.1.1", + "phpstan/phpstan-phpunit": "2.0.3", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "10.5.39", "slevomat/coding-standard": "8.13.1", "squizlabs/php_codesniffer": "3.10.2", "symfony/cache": "^6.3.8|^7.0", - "symfony/console": "^5.4|^6.3|^7.0", - "vimeo/psalm": "5.25.0" + "symfony/console": "^5.4|^6.3|^7.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -800,7 +798,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/4.2.1" + "source": "https://github.com/doctrine/dbal/tree/4.2.2" }, "funding": [ { @@ -816,7 +814,7 @@ "type": "tidelift" } ], - "time": "2024-10-10T18:01:27+00:00" + "time": "2025-01-16T08:40:56+00:00" }, { "name": "doctrine/deprecations", @@ -2411,16 +2409,16 @@ }, { "name": "laravel/framework", - "version": "v11.37.0", + "version": "v11.38.2", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "6cb103d2024b087eae207654b3f4b26646119ba5" + "reference": "9d290aa90fcad44048bedca5219d2b872e98772a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/6cb103d2024b087eae207654b3f4b26646119ba5", - "reference": "6cb103d2024b087eae207654b3f4b26646119ba5", + "url": "https://api.github.com/repos/laravel/framework/zipball/9d290aa90fcad44048bedca5219d2b872e98772a", + "reference": "9d290aa90fcad44048bedca5219d2b872e98772a", "shasum": "" }, "require": { @@ -2621,20 +2619,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-01-02T20:10:21+00:00" + "time": "2025-01-15T00:06:46+00:00" }, { "name": "laravel/prompts", - "version": "v0.3.2", + "version": "v0.3.3", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "0e0535747c6b8d6d10adca8b68293cf4517abb0f" + "reference": "749395fcd5f8f7530fe1f00dfa84eb22c83d94ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/0e0535747c6b8d6d10adca8b68293cf4517abb0f", - "reference": "0e0535747c6b8d6d10adca8b68293cf4517abb0f", + "url": "https://api.github.com/repos/laravel/prompts/zipball/749395fcd5f8f7530fe1f00dfa84eb22c83d94ea", + "reference": "749395fcd5f8f7530fe1f00dfa84eb22c83d94ea", "shasum": "" }, "require": { @@ -2678,9 +2676,9 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.3.2" + "source": "https://github.com/laravel/prompts/tree/v0.3.3" }, - "time": "2024-11-12T14:59:47+00:00" + "time": "2024-12-30T15:53:31+00:00" }, { "name": "laravel/sanctum", @@ -3064,16 +3062,16 @@ }, { "name": "league/csv", - "version": "9.20.1", + "version": "9.21.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "491d1e79e973a7370c7571dc0fe4a7241f4936ee" + "reference": "72196d11ebba22d868954cb39c0c7346207430cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/491d1e79e973a7370c7571dc0fe4a7241f4936ee", - "reference": "491d1e79e973a7370c7571dc0fe4a7241f4936ee", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/72196d11ebba22d868954cb39c0c7346207430cc", + "reference": "72196d11ebba22d868954cb39c0c7346207430cc", "shasum": "" }, "require": { @@ -3147,7 +3145,7 @@ "type": "github" } ], - "time": "2024-12-18T10:11:15+00:00" + "time": "2025-01-08T19:27:58+00:00" }, { "name": "league/flysystem", @@ -3985,16 +3983,16 @@ }, { "name": "myclabs/php-enum", - "version": "1.8.4", + "version": "1.8.5", "source": { "type": "git", "url": "https://github.com/myclabs/php-enum.git", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483" + "reference": "e7be26966b7398204a234f8673fdad5ac6277802" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/php-enum/zipball/a867478eae49c9f59ece437ae7f9506bfaa27483", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483", + "url": "https://api.github.com/repos/myclabs/php-enum/zipball/e7be26966b7398204a234f8673fdad5ac6277802", + "reference": "e7be26966b7398204a234f8673fdad5ac6277802", "shasum": "" }, "require": { @@ -4004,7 +4002,7 @@ "require-dev": { "phpunit/phpunit": "^9.5", "squizlabs/php_codesniffer": "1.*", - "vimeo/psalm": "^4.6.2" + "vimeo/psalm": "^4.6.2 || ^5.2" }, "type": "library", "autoload": { @@ -4026,13 +4024,13 @@ } ], "description": "PHP Enum implementation", - "homepage": "http://github.com/myclabs/php-enum", + "homepage": "https://github.com/myclabs/php-enum", "keywords": [ "enum" ], "support": { "issues": "https://github.com/myclabs/php-enum/issues", - "source": "https://github.com/myclabs/php-enum/tree/1.8.4" + "source": "https://github.com/myclabs/php-enum/tree/1.8.5" }, "funding": [ { @@ -4044,19 +4042,19 @@ "type": "tidelift" } ], - "time": "2022-08-04T09:53:51+00:00" + "time": "2025-01-14T11:49:03+00:00" }, { "name": "nesbot/carbon", "version": "3.8.4", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", + "url": "https://github.com/CarbonPHP/carbon.git", "reference": "129700ed449b1f02d70272d2ac802357c8c30c58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/129700ed449b1f02d70272d2ac802357c8c30c58", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/129700ed449b1f02d70272d2ac802357c8c30c58", "reference": "129700ed449b1f02d70272d2ac802357c8c30c58", "shasum": "" }, @@ -4447,16 +4445,16 @@ }, { "name": "openspout/openspout", - "version": "v4.28.3", + "version": "v4.28.4", "source": { "type": "git", "url": "https://github.com/openspout/openspout.git", - "reference": "12b5eddcc230a97a9a67a722ad75c247e1a16750" + "reference": "68d58235c7c1164b3d231b798975b9b0b2b79b15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openspout/openspout/zipball/12b5eddcc230a97a9a67a722ad75c247e1a16750", - "reference": "12b5eddcc230a97a9a67a722ad75c247e1a16750", + "url": "https://api.github.com/repos/openspout/openspout/zipball/68d58235c7c1164b3d231b798975b9b0b2b79b15", + "reference": "68d58235c7c1164b3d231b798975b9b0b2b79b15", "shasum": "" }, "require": { @@ -4470,13 +4468,13 @@ }, "require-dev": { "ext-zlib": "*", - "friendsofphp/php-cs-fixer": "^3.65.0", - "infection/infection": "^0.29.8", + "friendsofphp/php-cs-fixer": "^3.66.1", + "infection/infection": "^0.29.10", "phpbench/phpbench": "^1.3.1", - "phpstan/phpstan": "^2.0.3", - "phpstan/phpstan-phpunit": "^2.0.1", + "phpstan/phpstan": "^2.1.1", + "phpstan/phpstan-phpunit": "^2.0.3", "phpstan/phpstan-strict-rules": "^2", - "phpunit/phpunit": "^11.5.0" + "phpunit/phpunit": "^11.5.2" }, "suggest": { "ext-iconv": "To handle non UTF-8 CSV files (if \"php-mbstring\" is not already installed or is too limited)", @@ -4524,7 +4522,7 @@ ], "support": { "issues": "https://github.com/openspout/openspout/issues", - "source": "https://github.com/openspout/openspout/tree/v4.28.3" + "source": "https://github.com/openspout/openspout/tree/v4.28.4" }, "funding": [ { @@ -4536,7 +4534,7 @@ "type": "github" } ], - "time": "2024-12-17T11:28:11+00:00" + "time": "2025-01-07T11:48:34+00:00" }, { "name": "php-http/client-common", @@ -5941,40 +5939,39 @@ "time": "2024-02-26T18:08:49+00:00" }, { - "name": "ryangjchandler/blade-tabler-icons", - "version": "v2.3.0", + "name": "secondnetwork/blade-tabler-icons", + "version": "v3.28.0", "source": { "type": "git", - "url": "https://github.com/ryangjchandler/blade-tabler-icons.git", - "reference": "cd359f5d3b406a982dae1aaaf121d84067576a2e" + "url": "https://github.com/secondnetwork/blade-tabler-icons.git", + "reference": "a1eee5932f204fd8bcc063b6fbb9313f95e6589e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ryangjchandler/blade-tabler-icons/zipball/cd359f5d3b406a982dae1aaaf121d84067576a2e", - "reference": "cd359f5d3b406a982dae1aaaf121d84067576a2e", + "url": "https://api.github.com/repos/secondnetwork/blade-tabler-icons/zipball/a1eee5932f204fd8bcc063b6fbb9313f95e6589e", + "reference": "a1eee5932f204fd8bcc063b6fbb9313f95e6589e", "shasum": "" }, "require": { - "blade-ui-kit/blade-icons": "^1.5", - "illuminate/support": "^10.0 || ^11.0", - "php": "^8.1" + "blade-ui-kit/blade-icons": "^1.1|^1.5|^1.6", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0", + "php": "^7.4|^8.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.14", - "orchestra/testbench": "^8.0 || ^9.0", - "phpunit/phpunit": "^9.5.10 || ^10.5" + "orchestra/testbench": "^6.0|^7.0|^9.0", + "phpunit/phpunit": "^9.0|^10.0|^11.0" }, "type": "library", "extra": { "laravel": { "providers": [ - "RyanChandler\\TablerIcons\\BladeTablerIconsServiceProvider" + "secondnetwork\\TablerIcons\\BladeTablerIconsServiceProvider" ] } }, "autoload": { "psr-4": { - "RyanChandler\\TablerIcons\\": "src" + "secondnetwork\\TablerIcons\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -5983,25 +5980,21 @@ ], "authors": [ { - "name": "Ryan Chandler", - "email": "support@ryangjchandler.co.uk", - "homepage": "https://ryangjchandler.co.uk", - "role": "Developer" + "name": "Andreas Farah" } ], - "description": "A package to easily make use of Tabler icons in your Laravel Blade views.", - "homepage": "https://github.com/ryangjchandler/blade-tabler-icons", + "description": "A package to easily make use of tabler-icons in your Laravel Blade views.", + "homepage": "https://github.com/secondnetwork/blade-tabler-icons", "keywords": [ "blade", "laravel", - "tabler" + "tabler-icons" ], "support": { - "issues": "https://github.com/ryangjchandler/blade-tabler-icons/issues", - "source": "https://github.com/ryangjchandler/blade-tabler-icons/tree/v2.3.0" + "issues": "https://github.com/secondnetwork/blade-tabler-icons/issues", + "source": "https://github.com/secondnetwork/blade-tabler-icons/tree/v3.28.0" }, - "abandoned": "secondnetwork/blade-tabler-icons", - "time": "2024-03-12T23:54:24+00:00" + "time": "2025-01-09T14:42:38+00:00" }, { "name": "spatie/color", @@ -6483,16 +6476,16 @@ }, { "name": "spatie/temporary-directory", - "version": "2.2.1", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/spatie/temporary-directory.git", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a" + "reference": "580eddfe9a0a41a902cac6eeb8f066b42e65a32b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/580eddfe9a0a41a902cac6eeb8f066b42e65a32b", + "reference": "580eddfe9a0a41a902cac6eeb8f066b42e65a32b", "shasum": "" }, "require": { @@ -6528,7 +6521,7 @@ ], "support": { "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/2.2.1" + "source": "https://github.com/spatie/temporary-directory/tree/2.3.0" }, "funding": [ { @@ -6540,7 +6533,7 @@ "type": "github" } ], - "time": "2023-12-25T11:46:58+00:00" + "time": "2025-01-13T13:04:43+00:00" }, { "name": "symfony/clock", @@ -9315,16 +9308,16 @@ }, { "name": "zircote/swagger-php", - "version": "5.0.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/zircote/swagger-php.git", - "reference": "c6956de52edb270da4df2630b938c9ac3e26e42f" + "reference": "7708510b17502a416214148edaa8c9958b23b6cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zircote/swagger-php/zipball/c6956de52edb270da4df2630b938c9ac3e26e42f", - "reference": "c6956de52edb270da4df2630b938c9ac3e26e42f", + "url": "https://api.github.com/repos/zircote/swagger-php/zipball/7708510b17502a416214148edaa8c9958b23b6cd", + "reference": "7708510b17502a416214148edaa8c9958b23b6cd", "shasum": "" }, "require": { @@ -9395,9 +9388,9 @@ ], "support": { "issues": "https://github.com/zircote/swagger-php/issues", - "source": "https://github.com/zircote/swagger-php/tree/5.0.2" + "source": "https://github.com/zircote/swagger-php/tree/5.0.3" }, - "time": "2025-01-09T19:42:31+00:00" + "time": "2025-01-15T21:02:43+00:00" } ], "packages-dev": [ @@ -9588,16 +9581,16 @@ }, { "name": "laravel/pint", - "version": "v1.19.0", + "version": "v1.20.0", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "8169513746e1bac70c85d6ea1524d9225d4886f0" + "reference": "53072e8ea22213a7ed168a8a15b96fbb8b82d44b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/8169513746e1bac70c85d6ea1524d9225d4886f0", - "reference": "8169513746e1bac70c85d6ea1524d9225d4886f0", + "url": "https://api.github.com/repos/laravel/pint/zipball/53072e8ea22213a7ed168a8a15b96fbb8b82d44b", + "reference": "53072e8ea22213a7ed168a8a15b96fbb8b82d44b", "shasum": "" }, "require": { @@ -9650,20 +9643,20 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-12-30T16:20:10+00:00" + "time": "2025-01-14T16:20:53+00:00" }, { "name": "laravel/sail", - "version": "v1.39.1", + "version": "v1.40.0", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "1a3c7291bc88de983b66688919a4d298d68ddec7" + "reference": "237e70656d8eface4839de51d101284bd5d0cf71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/1a3c7291bc88de983b66688919a4d298d68ddec7", - "reference": "1a3c7291bc88de983b66688919a4d298d68ddec7", + "url": "https://api.github.com/repos/laravel/sail/zipball/237e70656d8eface4839de51d101284bd5d0cf71", + "reference": "237e70656d8eface4839de51d101284bd5d0cf71", "shasum": "" }, "require": { @@ -9713,20 +9706,20 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2024-11-27T15:42:28+00:00" + "time": "2025-01-13T16:57:11+00:00" }, { "name": "laravel/telescope", - "version": "v5.2.6", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/laravel/telescope.git", - "reference": "7ee46fbea8e3b01108575c8edf7377abddfe8bb9" + "reference": "216fd8d41eb17b49469bea9359b4f0f711b882b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/telescope/zipball/7ee46fbea8e3b01108575c8edf7377abddfe8bb9", - "reference": "7ee46fbea8e3b01108575c8edf7377abddfe8bb9", + "url": "https://api.github.com/repos/laravel/telescope/zipball/216fd8d41eb17b49469bea9359b4f0f711b882b3", + "reference": "216fd8d41eb17b49469bea9359b4f0f711b882b3", "shasum": "" }, "require": { @@ -9780,9 +9773,9 @@ ], "support": { "issues": "https://github.com/laravel/telescope/issues", - "source": "https://github.com/laravel/telescope/tree/v5.2.6" + "source": "https://github.com/laravel/telescope/tree/v5.3.0" }, - "time": "2024-11-25T20:34:58+00:00" + "time": "2024-12-26T21:37:35+00:00" }, { "name": "mockery/mockery", @@ -10467,16 +10460,16 @@ }, { "name": "phpunit/phpunit", - "version": "11.5.2", + "version": "11.5.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "153d0531b9f7e883c5053160cad6dd5ac28140b3" + "reference": "30e319e578a7b5da3543073e30002bf82042f701" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/153d0531b9f7e883c5053160cad6dd5ac28140b3", - "reference": "153d0531b9f7e883c5053160cad6dd5ac28140b3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/30e319e578a7b5da3543073e30002bf82042f701", + "reference": "30e319e578a7b5da3543073e30002bf82042f701", "shasum": "" }, "require": { @@ -10497,7 +10490,7 @@ "phpunit/php-timer": "^7.0.1", "sebastian/cli-parser": "^3.0.2", "sebastian/code-unit": "^3.0.2", - "sebastian/comparator": "^6.2.1", + "sebastian/comparator": "^6.3.0", "sebastian/diff": "^6.0.2", "sebastian/environment": "^7.2.0", "sebastian/exporter": "^6.3.0", @@ -10548,7 +10541,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.2" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.3" }, "funding": [ { @@ -10564,7 +10557,7 @@ "type": "tidelift" } ], - "time": "2024-12-21T05:51:08+00:00" + "time": "2025-01-13T09:36:00+00:00" }, { "name": "sebastian/cli-parser", @@ -10738,16 +10731,16 @@ }, { "name": "sebastian/comparator", - "version": "6.2.1", + "version": "6.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "43d129d6a0f81c78bee378b46688293eb7ea3739" + "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/43d129d6a0f81c78bee378b46688293eb7ea3739", - "reference": "43d129d6a0f81c78bee378b46688293eb7ea3739", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d4e47a769525c4dd38cea90e5dcd435ddbbc7115", + "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115", "shasum": "" }, "require": { @@ -10760,6 +10753,9 @@ "require-dev": { "phpunit/phpunit": "^11.4" }, + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" + }, "type": "library", "extra": { "branch-alias": { @@ -10803,7 +10799,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/6.2.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.0" }, "funding": [ { @@ -10811,7 +10807,7 @@ "type": "github" } ], - "time": "2024-10-31T05:30:08+00:00" + "time": "2025-01-06T10:28:19+00:00" }, { "name": "sebastian/complexity", From 91651e9ce966bbd20a59883fcd49d0e4e989ef5a Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Sat, 18 Jan 2025 10:08:14 -0500 Subject: [PATCH 4/4] Release v1.2.0 (#1999) --- config/speedtest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/speedtest.php b/config/speedtest.php index e257cbde7..d7a016761 100644 --- a/config/speedtest.php +++ b/config/speedtest.php @@ -4,9 +4,9 @@ return [ - 'build_date' => Carbon::parse('2025-01-13'), + 'build_date' => Carbon::parse('2025-01-18'), - 'build_version' => 'v1.1.0', + 'build_version' => 'v1.2.0', /** * General settings.