Merge branch 'dev' of github.com:appwrite/appwrite into feat-disable-SMTP

This commit is contained in:
Eldad Fux 2021-02-22 17:54:33 +02:00
commit bab5400aec
10 changed files with 316 additions and 270 deletions

View File

@ -1,3 +1,30 @@
# Version 0.8.0 (Not Released Yet)
- Anonymous login
# Version 0.7.1 (Not Released Yet)
## Features
- Added option for Redis authentication
- Force adding a security email on setup
- Better error logs on appwrite cretificates worker## Upgrades
## Upgrades
- Upgraded redis extenstion lib to version 5.3.3
- Upgraded maxmind extenstion lib to version 1.10.0
- Upgraded utopia-php/cli lib to version 0.10.0
- Upgraded matomo/device-detector lib to version 4.1.0
- Upgraded dragonmantank/cron-expression lib to version 3.1.0
- Upgraded influxdb/influxdb-php lib to version 1.15.2
- Upgraded phpmailer/phpmailer lib to version 6.3.0
- Upgraded adhocore/jwt lib to version 1.1.2
## Bug Fixes
- Updated missing storage env vars
# Version 0.7.0
## Features

View File

@ -14,9 +14,9 @@ RUN composer update --ignore-platform-reqs --optimize-autoloader \
FROM php:7.4-cli-alpine as step1
ENV PHP_REDIS_VERSION=5.3.0 \
ENV PHP_REDIS_VERSION=5.3.3 \
PHP_SWOOLE_VERSION=v4.5.8 \
PHP_MAXMINDDB_VERSION=v1.8.0 \
PHP_MAXMINDDB_VERSION=v1.10.0 \
PHP_XDEBUG_VERSION=sdebug_2_9-beta
RUN \

View File

@ -294,7 +294,7 @@ App::put('/v1/functions/:functionId')
}
$original = $function->getAttribute('schedule', '');
$cron = (!empty($function->getAttribute('tag', null)) && !empty($schedule)) ? CronExpression::factory($schedule) : null;
$cron = (!empty($function->getAttribute('tag', null)) && !empty($schedule)) ? new CronExpression($schedule) : null;
$next = (!empty($function->getAttribute('tag', null)) && !empty($schedule)) ? $cron->getNextRunDate()->format('U') : null;
$function = $projectDB->updateDocument(array_merge($function->getArrayCopy(), [
@ -359,7 +359,7 @@ App::patch('/v1/functions/:functionId/tag')
}
$schedule = $function->getAttribute('schedule', '');
$cron = (empty($function->getAttribute('tag')) && !empty($schedule)) ? CronExpression::factory($schedule) : null;
$cron = (empty($function->getAttribute('tag')) && !empty($schedule)) ? new CronExpression($schedule) : null;
$next = (empty($function->getAttribute('tag')) && !empty($schedule)) ? $cron->getNextRunDate()->format('U') : null;
$function = $projectDB->updateDocument(array_merge($function->getArrayCopy(), [

View File

@ -943,7 +943,7 @@ App::post('/v1/projects/:projectId/tasks')
throw new Exception('Project not found', 404);
}
$cron = CronExpression::factory($schedule);
$cron = new CronExpression($schedule);
$next = ($status == 'play') ? $cron->getNextRunDate()->format('U') : null;
$security = ($security === '1' || $security === 'true' || $security === 1 || $security === true);
@ -1093,7 +1093,7 @@ App::put('/v1/projects/:projectId/tasks/:taskId')
throw new Exception('Task not found', 404);
}
$cron = CronExpression::factory($schedule);
$cron = new CronExpression($schedule);
$next = ($status == 'play') ? $cron->getNextRunDate()->format('U') : null;
$security = ($security === '1' || $security === 'true' || $security === 1 || $security === true);

View File

@ -56,9 +56,12 @@ services:
- influxdb
environment:
- _APP_ENV
- _APP_CONSOLE_WHITELIST_EMAILS
- _APP_CONSOLE_WHITELIST_IPS
- _APP_SYSTEM_EMAIL_NAME
- _APP_SYSTEM_EMAIL_ADDRESS
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
- _APP_SYSTEM_RESPONSE_FORMAT
- _APP_OPTIONS_ABUSE
- _APP_OPTIONS_FORCE_HTTPS
- _APP_OPENSSL_KEY_V1

View File

@ -227,7 +227,7 @@ class FunctionsV1
return;
}
$cron = CronExpression::factory($function->getAttribute('schedule'));
$cron = new CronExpression($function->getAttribute('schedule'));
$next = (int) $cron->getNextRunDate()->format('U');
$function

View File

@ -82,7 +82,7 @@ class TasksV1
// Reschedule
$cron = CronExpression::factory($task->getAttribute('schedule'));
$cron = new CronExpression($task->getAttribute('schedule'));
$next = (int) $cron->getNextRunDate()->format('U');
$headers = (\is_array($task->getAttribute('httpHeaders', []))) ? $task->getAttribute('httpHeaders', []) : [];

View File

@ -39,7 +39,7 @@
"utopia-php/analytics": "0.1.*",
"utopia-php/audit": "0.5.*",
"utopia-php/cache": "0.2.*",
"utopia-php/cli": "0.9.0",
"utopia-php/cli": "0.10.0",
"utopia-php/config": "0.2.*",
"utopia-php/locale": "0.3.*",
"utopia-php/registry": "0.2.*",
@ -50,13 +50,13 @@
"utopia-php/storage": "0.2.*",
"resque/php-resque": "1.3.6",
"matomo/device-detector": "3.13.0",
"dragonmantank/cron-expression": "3.0.1",
"matomo/device-detector": "4.1.0",
"dragonmantank/cron-expression": "3.1.0",
"domnikl/statsd": "3.0.2",
"influxdb/influxdb-php": "1.15.1",
"phpmailer/phpmailer": "6.1.7",
"influxdb/influxdb-php": "1.15.2",
"phpmailer/phpmailer": "6.3.0",
"chillerlan/php-qrcode": "4.3.0",
"adhocore/jwt": "1.1.0"
"adhocore/jwt": "1.1.2"
},
"require-dev": {
"appwrite/sdk-generator": "0.5.5",

526
composer.lock generated
View File

@ -4,24 +4,24 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "5893b378d1dcda91aedf77059f4b0efb",
"content-hash": "01173c3bd9d5d01922432165ebcf1ce2",
"packages": [
{
"name": "adhocore/jwt",
"version": "1.1.0",
"version": "1.1.2",
"source": {
"type": "git",
"url": "https://github.com/adhocore/php-jwt.git",
"reference": "424a1d66b729a316dd074e6382167765b810cd3d"
"reference": "6c434af7170090bb7a8880d2bc220a2254ba7899"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/adhocore/php-jwt/zipball/424a1d66b729a316dd074e6382167765b810cd3d",
"reference": "424a1d66b729a316dd074e6382167765b810cd3d",
"url": "https://api.github.com/repos/adhocore/php-jwt/zipball/6c434af7170090bb7a8880d2bc220a2254ba7899",
"reference": "6c434af7170090bb7a8880d2bc220a2254ba7899",
"shasum": ""
},
"require": {
"php": ">=7.0"
"php": "^7.0 || ^8.0"
},
"require-dev": {
"phpunit/phpunit": "^6.5 || ^7.5"
@ -53,7 +53,7 @@
],
"support": {
"issues": "https://github.com/adhocore/php-jwt/issues",
"source": "https://github.com/adhocore/php-jwt/tree/1.1.0"
"source": "https://github.com/adhocore/php-jwt/tree/1.1.2"
},
"funding": [
{
@ -61,7 +61,7 @@
"type": "custom"
}
],
"time": "2020-10-09T00:34:35+00:00"
"time": "2021-02-20T09:56:44+00:00"
},
{
"name": "appwrite/php-clamav",
@ -354,27 +354,30 @@
},
{
"name": "dragonmantank/cron-expression",
"version": "3.0.1",
"version": "v3.1.0",
"source": {
"type": "git",
"url": "https://github.com/dragonmantank/cron-expression.git",
"reference": "fa4e95ff5a7f1d62c3fbc05c32729b7f3ca14b52"
"reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/fa4e95ff5a7f1d62c3fbc05c32729b7f3ca14b52",
"reference": "fa4e95ff5a7f1d62c3fbc05c32729b7f3ca14b52",
"url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c",
"reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c",
"shasum": ""
},
"require": {
"php": "^7.1"
"php": "^7.2|^8.0",
"webmozart/assert": "^1.7.0"
},
"replace": {
"mtdowling/cron-expression": "^1.0"
},
"require-dev": {
"phpstan/phpstan": "^0.11",
"phpunit/phpunit": "^6.4|^7.0"
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^0.12",
"phpstan/phpstan-webmozart-assert": "^0.12.7",
"phpunit/phpunit": "^7.0|^8.0|^9.0"
},
"type": "library",
"autoload": {
@ -400,7 +403,7 @@
],
"support": {
"issues": "https://github.com/dragonmantank/cron-expression/issues",
"source": "https://github.com/dragonmantank/cron-expression/tree/3.0.1"
"source": "https://github.com/dragonmantank/cron-expression/tree/v3.1.0"
},
"funding": [
{
@ -408,7 +411,7 @@
"type": "github"
}
],
"time": "2020-08-21T02:30:13+00:00"
"time": "2020-11-24T19:55:57+00:00"
},
{
"name": "guzzlehttp/guzzle",
@ -645,24 +648,25 @@
},
{
"name": "influxdb/influxdb-php",
"version": "1.15.1",
"version": "1.15.2",
"source": {
"type": "git",
"url": "https://github.com/influxdata/influxdb-php.git",
"reference": "447acb600969f9510c9f1900a76d442fc3537b0e"
"reference": "d6e59f4f04ab9107574fda69c2cbe36671253d03"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/influxdata/influxdb-php/zipball/447acb600969f9510c9f1900a76d442fc3537b0e",
"reference": "447acb600969f9510c9f1900a76d442fc3537b0e",
"url": "https://api.github.com/repos/influxdata/influxdb-php/zipball/d6e59f4f04ab9107574fda69c2cbe36671253d03",
"reference": "d6e59f4f04ab9107574fda69c2cbe36671253d03",
"shasum": ""
},
"require": {
"guzzlehttp/guzzle": "^6.0|^7.0",
"php": "^5.5 || ^7.0"
"php": "^5.5 || ^7.0 || ^8.0"
},
"require-dev": {
"phpunit/phpunit": "^5.7"
"dms/phpunit-arraysubset-asserts": "^0.2.1",
"phpunit/phpunit": "^9.5"
},
"suggest": {
"ext-curl": "Curl extension, needed for Curl driver",
@ -704,34 +708,39 @@
],
"support": {
"issues": "https://github.com/influxdata/influxdb-php/issues",
"source": "https://github.com/influxdata/influxdb-php/tree/1.15.1"
"source": "https://github.com/influxdata/influxdb-php/tree/1.15.2"
},
"time": "2020-09-18T13:24:03+00:00"
"time": "2020-12-26T17:45:17+00:00"
},
{
"name": "matomo/device-detector",
"version": "3.13.0",
"version": "4.1.0",
"source": {
"type": "git",
"url": "https://github.com/matomo-org/device-detector.git",
"reference": "75ca5b690e38c40d199ade93e677bc5d7c3bc498"
"reference": "6b3facc35e7a465bc4223fddfa5fa88c5b327554"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/matomo-org/device-detector/zipball/75ca5b690e38c40d199ade93e677bc5d7c3bc498",
"reference": "75ca5b690e38c40d199ade93e677bc5d7c3bc498",
"url": "https://api.github.com/repos/matomo-org/device-detector/zipball/6b3facc35e7a465bc4223fddfa5fa88c5b327554",
"reference": "6b3facc35e7a465bc4223fddfa5fa88c5b327554",
"shasum": ""
},
"require": {
"mustangostang/spyc": "*",
"php": ">=5.5"
"php": ">=7.2"
},
"replace": {
"piwik/device-detector": "self.version"
},
"require-dev": {
"fabpot/php-cs-fixer": "~1.7",
"matthiasmullie/scrapbook": "@stable",
"phpunit/phpunit": "^4.8.36",
"psr/cache": "^1.0",
"psr/simple-cache": "^1.0"
"matthiasmullie/scrapbook": "^1.4.7",
"mayflower/mo4-coding-standard": "dev-master#275cb9d",
"phpstan/phpstan": "^0.12.52",
"phpunit/phpunit": "^8.5.8",
"psr/cache": "^1.0.1",
"psr/simple-cache": "^1.0.1",
"symfony/yaml": "^5.1.7"
},
"suggest": {
"doctrine/cache": "Can directly be used for caching purpose",
@ -741,7 +750,10 @@
"autoload": {
"psr-4": {
"DeviceDetector\\": ""
}
},
"exclude-from-classmap": [
"Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@ -767,7 +779,7 @@
"source": "https://github.com/matomo-org/piwik",
"wiki": "https://dev.matomo.org/"
},
"time": "2020-08-17T07:37:33+00:00"
"time": "2021-01-08T14:14:55+00:00"
},
{
"name": "mustangostang/spyc",
@ -821,27 +833,31 @@
},
{
"name": "phpmailer/phpmailer",
"version": "v6.1.7",
"version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/PHPMailer/PHPMailer.git",
"reference": "2c2370ba3df7034f9eb7b8f387c97b52b2ba5ad0"
"reference": "4a08cf4cdd2c38d12ee2b9fa69e5d235f37a6dcb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/2c2370ba3df7034f9eb7b8f387c97b52b2ba5ad0",
"reference": "2c2370ba3df7034f9eb7b8f387c97b52b2ba5ad0",
"url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/4a08cf4cdd2c38d12ee2b9fa69e5d235f37a6dcb",
"reference": "4a08cf4cdd2c38d12ee2b9fa69e5d235f37a6dcb",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-filter": "*",
"ext-hash": "*",
"php": ">=5.5.0"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
"doctrine/annotations": "^1.2",
"friendsofphp/php-cs-fixer": "^2.2",
"phpunit/phpunit": "^4.8 || ^5.7"
"phpcompatibility/php-compatibility": "^9.3.5",
"roave/security-advisories": "dev-latest",
"squizlabs/php_codesniffer": "^3.5.6",
"yoast/phpunit-polyfills": "^0.2.0"
},
"suggest": {
"ext-mbstring": "Needed to send email in multibyte encoding charset",
@ -881,15 +897,15 @@
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"support": {
"issues": "https://github.com/PHPMailer/PHPMailer/issues",
"source": "https://github.com/PHPMailer/PHPMailer/tree/v6.1.7"
"source": "https://github.com/PHPMailer/PHPMailer/tree/v6.3.0"
},
"funding": [
{
"url": "https://github.com/synchro",
"url": "https://github.com/Synchro",
"type": "github"
}
],
"time": "2020-07-14T18:50:27+00:00"
"time": "2021-02-19T15:28:08+00:00"
},
{
"name": "psr/http-client",
@ -1176,6 +1192,86 @@
},
"time": "2020-04-16T16:39:50+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "dev-main",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
"reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"suggest": {
"ext-ctype": "For best performance"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.22-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Ctype\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Gert de Pagter",
"email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"ctype",
"polyfill",
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-01-07T16:49:33+00:00"
},
{
"name": "utopia-php/abuse",
"version": "0.3.1",
@ -1389,16 +1485,16 @@
},
{
"name": "utopia-php/cli",
"version": "0.9.0",
"version": "0.10.0",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/cli.git",
"reference": "a83f8b5f57022e0d1c50913f1b1ab4f8f087dceb"
"reference": "69ae40187fb4b68ef14f0224a68d9cc016b83634"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/cli/zipball/a83f8b5f57022e0d1c50913f1b1ab4f8f087dceb",
"reference": "a83f8b5f57022e0d1c50913f1b1ab4f8f087dceb",
"url": "https://api.github.com/repos/utopia-php/cli/zipball/69ae40187fb4b68ef14f0224a68d9cc016b83634",
"reference": "69ae40187fb4b68ef14f0224a68d9cc016b83634",
"shasum": ""
},
"require": {
@ -1436,9 +1532,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/cli/issues",
"source": "https://github.com/utopia-php/cli/tree/0.9.0"
"source": "https://github.com/utopia-php/cli/tree/0.10.0"
},
"time": "2021-01-19T20:00:02+00:00"
"time": "2021-01-26T16:35:15+00:00"
},
{
"name": "utopia-php/config",
@ -1913,6 +2009,65 @@
"source": "https://github.com/utopia-php/system/tree/0.4.0"
},
"time": "2021-02-04T14:14:49+00:00"
},
{
"name": "webmozart/assert",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "9c89b265ccc4092d58e66d72af5d343ee77a41ae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/9c89b265ccc4092d58e66d72af5d343ee77a41ae",
"reference": "9c89b265ccc4092d58e66d72af5d343ee77a41ae",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
"vimeo/psalm": "<3.9.1"
},
"require-dev": {
"phpunit/phpunit": "^8.5.13"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.10-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
"assert",
"check",
"validate"
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/master"
},
"time": "2021-01-18T12:52:36+00:00"
}
],
"packages-dev": [
@ -3322,12 +3477,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "05fa32de35b15c94838d22482cc59d99860a706f"
"reference": "499be26d3f45b1d12b4903a772ea22f858a48eb3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/05fa32de35b15c94838d22482cc59d99860a706f",
"reference": "05fa32de35b15c94838d22482cc59d99860a706f",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/499be26d3f45b1d12b4903a772ea22f858a48eb3",
"reference": "499be26d3f45b1d12b4903a772ea22f858a48eb3",
"shasum": ""
},
"require": {
@ -3375,7 +3530,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:52:34+00:00"
"time": "2021-02-21T06:39:05+00:00"
},
{
"name": "phpunit/php-invoker",
@ -3383,12 +3538,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
"reference": "7bba8d62fc6140730c268d5ff7fbf9c3a54996a8"
"reference": "e17a1cc6f8ab1ba4f4ff654019b9d7d9f017267c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/7bba8d62fc6140730c268d5ff7fbf9c3a54996a8",
"reference": "7bba8d62fc6140730c268d5ff7fbf9c3a54996a8",
"url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/e17a1cc6f8ab1ba4f4ff654019b9d7d9f017267c",
"reference": "e17a1cc6f8ab1ba4f4ff654019b9d7d9f017267c",
"shasum": ""
},
"require": {
@ -3439,7 +3594,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:52:42+00:00"
"time": "2021-02-21T06:39:14+00:00"
},
{
"name": "phpunit/php-text-template",
@ -3447,12 +3602,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
"reference": "bca9f27936ccd6d7450f16f1ee3f125b755b7905"
"reference": "8de0286bd8c4988bc20fbd7c246d1662e5c2efe2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/bca9f27936ccd6d7450f16f1ee3f125b755b7905",
"reference": "bca9f27936ccd6d7450f16f1ee3f125b755b7905",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/8de0286bd8c4988bc20fbd7c246d1662e5c2efe2",
"reference": "8de0286bd8c4988bc20fbd7c246d1662e5c2efe2",
"shasum": ""
},
"require": {
@ -3499,7 +3654,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:53:15+00:00"
"time": "2021-02-21T06:39:47+00:00"
},
{
"name": "phpunit/php-timer",
@ -3507,12 +3662,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
"reference": "e3125d0dc516e7f7ab23d54ddefbce67627fd608"
"reference": "bb859edc295be92317a9161ddb0d5cae03c4e164"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e3125d0dc516e7f7ab23d54ddefbce67627fd608",
"reference": "e3125d0dc516e7f7ab23d54ddefbce67627fd608",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/bb859edc295be92317a9161ddb0d5cae03c4e164",
"reference": "bb859edc295be92317a9161ddb0d5cae03c4e164",
"shasum": ""
},
"require": {
@ -3559,7 +3714,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:52:50+00:00"
"time": "2021-02-21T06:39:22+00:00"
},
{
"name": "phpunit/phpunit",
@ -3724,12 +3879,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
"reference": "5a6fc83d266e0fcbf890d4475bfbb713dbb4d202"
"reference": "83a4f03a3fce4f613fa2662aa7357246c7bb6860"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/5a6fc83d266e0fcbf890d4475bfbb713dbb4d202",
"reference": "5a6fc83d266e0fcbf890d4475bfbb713dbb4d202",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/83a4f03a3fce4f613fa2662aa7357246c7bb6860",
"reference": "83a4f03a3fce4f613fa2662aa7357246c7bb6860",
"shasum": ""
},
"require": {
@ -3773,7 +3928,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:53:40+00:00"
"time": "2021-02-21T06:40:12+00:00"
},
{
"name": "sebastian/code-unit",
@ -3837,12 +3992,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
"reference": "96fc758350a824cf96f9e7847ecdf9bb82c87083"
"reference": "b0e1cc9a057295d75ec7c03e6e89094fa0787ca4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/96fc758350a824cf96f9e7847ecdf9bb82c87083",
"reference": "96fc758350a824cf96f9e7847ecdf9bb82c87083",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/b0e1cc9a057295d75ec7c03e6e89094fa0787ca4",
"reference": "b0e1cc9a057295d75ec7c03e6e89094fa0787ca4",
"shasum": ""
},
"require": {
@ -3885,7 +4040,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:51:27+00:00"
"time": "2021-02-21T06:37:59+00:00"
},
{
"name": "sebastian/comparator",
@ -3893,12 +4048,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "3b943ec66244e5d0a5252708d1c9073ae6d3efc9"
"reference": "56f15c16d786947d3fbb9df2788ae14049d34286"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/3b943ec66244e5d0a5252708d1c9073ae6d3efc9",
"reference": "3b943ec66244e5d0a5252708d1c9073ae6d3efc9",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/56f15c16d786947d3fbb9df2788ae14049d34286",
"reference": "56f15c16d786947d3fbb9df2788ae14049d34286",
"shasum": ""
},
"require": {
@ -3960,7 +4115,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:51:35+00:00"
"time": "2021-02-21T06:38:07+00:00"
},
{
"name": "sebastian/complexity",
@ -4025,12 +4180,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "1895a1a29e197f7d31099a320b2a3ae9e428b21d"
"reference": "33d65ae1c50be986bfbddd876d23ea3042bc2b5f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/1895a1a29e197f7d31099a320b2a3ae9e428b21d",
"reference": "1895a1a29e197f7d31099a320b2a3ae9e428b21d",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/33d65ae1c50be986bfbddd876d23ea3042bc2b5f",
"reference": "33d65ae1c50be986bfbddd876d23ea3042bc2b5f",
"shasum": ""
},
"require": {
@ -4084,7 +4239,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:51:43+00:00"
"time": "2021-02-21T06:38:16+00:00"
},
{
"name": "sebastian/environment",
@ -4092,12 +4247,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "7f8f2720df4d03d4368edadac24c3a7950b6cdc5"
"reference": "d5a0fb77ea34154ab24cc9ada037e9f2b5715842"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/7f8f2720df4d03d4368edadac24c3a7950b6cdc5",
"reference": "7f8f2720df4d03d4368edadac24c3a7950b6cdc5",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d5a0fb77ea34154ab24cc9ada037e9f2b5715842",
"reference": "d5a0fb77ea34154ab24cc9ada037e9f2b5715842",
"shasum": ""
},
"require": {
@ -4148,7 +4303,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:51:52+00:00"
"time": "2021-02-21T06:38:24+00:00"
},
{
"name": "sebastian/exporter",
@ -4156,12 +4311,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "c6819d6edff3496f28c29a9ed61c564a9fdae27b"
"reference": "36878bc8e65b75bdd37fe65ed6939e6374164b06"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c6819d6edff3496f28c29a9ed61c564a9fdae27b",
"reference": "c6819d6edff3496f28c29a9ed61c564a9fdae27b",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/36878bc8e65b75bdd37fe65ed6939e6374164b06",
"reference": "36878bc8e65b75bdd37fe65ed6939e6374164b06",
"shasum": ""
},
"require": {
@ -4226,7 +4381,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:52:00+00:00"
"time": "2021-02-21T06:38:32+00:00"
},
{
"name": "sebastian/global-state",
@ -4234,12 +4389,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "a912746c9e31610f52b8e6977107e745c758cfd8"
"reference": "48eacca30bf0ee1f7b4ba27ddbf5a448d5eae9b9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a912746c9e31610f52b8e6977107e745c758cfd8",
"reference": "a912746c9e31610f52b8e6977107e745c758cfd8",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/48eacca30bf0ee1f7b4ba27ddbf5a448d5eae9b9",
"reference": "48eacca30bf0ee1f7b4ba27ddbf5a448d5eae9b9",
"shasum": ""
},
"require": {
@ -4291,7 +4446,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:52:09+00:00"
"time": "2021-02-21T06:38:40+00:00"
},
{
"name": "sebastian/lines-of-code",
@ -4356,12 +4511,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
"reference": "79f258bf9b9f9f1aff7ec27fa3e0d5d7ef344088"
"reference": "00ebe4f5fb5fbc4e7ab57545f70c0ef61392f527"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/79f258bf9b9f9f1aff7ec27fa3e0d5d7ef344088",
"reference": "79f258bf9b9f9f1aff7ec27fa3e0d5d7ef344088",
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/00ebe4f5fb5fbc4e7ab57545f70c0ef61392f527",
"reference": "00ebe4f5fb5fbc4e7ab57545f70c0ef61392f527",
"shasum": ""
},
"require": {
@ -4406,7 +4561,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:52:17+00:00"
"time": "2021-02-21T06:38:48+00:00"
},
{
"name": "sebastian/object-reflector",
@ -4414,12 +4569,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
"reference": "232add5a51167e359e1dd03334ebffaddfb95795"
"reference": "13af24fcef1a0857804d8f1896e95af4f01c37f0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/232add5a51167e359e1dd03334ebffaddfb95795",
"reference": "232add5a51167e359e1dd03334ebffaddfb95795",
"url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/13af24fcef1a0857804d8f1896e95af4f01c37f0",
"reference": "13af24fcef1a0857804d8f1896e95af4f01c37f0",
"shasum": ""
},
"require": {
@ -4462,7 +4617,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:52:26+00:00"
"time": "2021-02-21T06:38:56+00:00"
},
{
"name": "sebastian/recursion-context",
@ -4470,12 +4625,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "d6cde15be46e8e5cc8671ceb41b63b69dfd7bd5a"
"reference": "43746c15374dba48c7c81f8e993b21888c943a83"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/d6cde15be46e8e5cc8671ceb41b63b69dfd7bd5a",
"reference": "d6cde15be46e8e5cc8671ceb41b63b69dfd7bd5a",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/43746c15374dba48c7c81f8e993b21888c943a83",
"reference": "43746c15374dba48c7c81f8e993b21888c943a83",
"shasum": ""
},
"require": {
@ -4526,7 +4681,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:52:58+00:00"
"time": "2021-02-21T06:39:30+00:00"
},
{
"name": "sebastian/resource-operations",
@ -4590,12 +4745,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "8abc9c1947c9f928da999be28778a0ba48cdf5b4"
"reference": "819c8e7fba19e9c2137b238040b906f1586cc7cc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/8abc9c1947c9f928da999be28778a0ba48cdf5b4",
"reference": "8abc9c1947c9f928da999be28778a0ba48cdf5b4",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/819c8e7fba19e9c2137b238040b906f1586cc7cc",
"reference": "819c8e7fba19e9c2137b238040b906f1586cc7cc",
"shasum": ""
},
"require": {
@ -4639,7 +4794,7 @@
"type": "github"
}
],
"time": "2021-02-14T06:53:07+00:00"
"time": "2021-02-21T06:39:38+00:00"
},
{
"name": "sebastian/version",
@ -4738,12 +4893,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "2a6f75224a537ee506e9fa1e6fc4200ad411ffd9"
"reference": "539148499aaafa5058d534582f61ce2a66480987"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/2a6f75224a537ee506e9fa1e6fc4200ad411ffd9",
"reference": "2a6f75224a537ee506e9fa1e6fc4200ad411ffd9",
"url": "https://api.github.com/repos/symfony/console/zipball/539148499aaafa5058d534582f61ce2a66480987",
"reference": "539148499aaafa5058d534582f61ce2a66480987",
"shasum": ""
},
"require": {
@ -4828,87 +4983,7 @@
"type": "tidelift"
}
],
"time": "2021-02-17T15:27:35+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "dev-main",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
"reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"suggest": {
"ext-ctype": "For best performance"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.22-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Ctype\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Gert de Pagter",
"email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"ctype",
"polyfill",
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-01-07T16:49:33+00:00"
"time": "2021-02-18T11:02:40+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
@ -5720,65 +5795,6 @@
},
"time": "2020-11-02T05:54:12+00:00"
},
{
"name": "webmozart/assert",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "9c89b265ccc4092d58e66d72af5d343ee77a41ae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/9c89b265ccc4092d58e66d72af5d343ee77a41ae",
"reference": "9c89b265ccc4092d58e66d72af5d343ee77a41ae",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
"vimeo/psalm": "<3.9.1"
},
"require-dev": {
"phpunit/phpunit": "^8.5.13"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.10-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
"assert",
"check",
"validate"
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/master"
},
"time": "2021-01-18T12:52:36+00:00"
},
{
"name": "webmozart/path-util",
"version": "dev-master",

View File

@ -38,7 +38,7 @@ class DetectorTest extends TestCase
'clientName' => 'Firefox',
'clientVersion' => '47.0',
'clientEngine' => 'Gecko',
'clientEngineVersion' => '',
'clientEngineVersion' => '47.0',
]);
}