From eebf859afa28143ac7dd7e5289bcc97214489e21 Mon Sep 17 00:00:00 2001 From: user Date: Mon, 22 Jul 2024 14:17:00 +0200 Subject: [PATCH] add: all --- .env.example | 14 - .../Controllers/CheckSimpleAuthController.php | 2 +- .../CsvController/CsvController.php | 84 + .../CsvCostCalc/CsvAgentCost.php | 50 + .../CsvController/CsvCostCalc/CsvCostCalc.php | 31 + .../CsvCostCalc/CsvMinuteCostCalc.php | 59 + .../CsvCostCalc/CsvSumTotalsCalc.php | 88 + .../CsvCostCalc/CsvTotalCostCalc.php | 22 + .../CsvController/CsvDataHandling.php | 47 + .../Controllers/CsvController/CsvDataInit.php | 50 + app/Http/Controllers/GiteaApiController.php | 170 -- .../GiteaApiController/GiteaApiController.php | 31 + .../GiteaApiController/GiteaExport.php | 80 + .../GiteaApiController/GiteaFetch.php | 61 + .../Controllers/IssueValidationController.php | 57 + app/Http/Controllers/ThirdPartyServices.php | 97 + app/Mail/sendExportNotice.php | 34 + bootstrap/app.php | 11 + composer.json | 1 + composer.lock | 2229 +++++++++++------ config/mail.php | 103 + resources/views/login.blade.php | 2 +- resources/views/sendExportNotice.blade.php | 9 + routes/web.php | 5 +- tests/CsvGenerationTest.php | 41 + .../CsvController/CsvControllerTest.php | 20 + .../CsvCostCalc/CsvAgentCostTest.php | 15 + .../CsvCostCalc/CsvCostCalcTest.php | 25 + .../CsvCostCalc/CsvMinuteCostCalcTest.php | 73 + .../CsvCostCalc/CsvSumTotalsCalcTest.php | 15 + .../CsvCostCalc/CsvTotalCostCalcTest.php | 15 + .../CsvController/CsvDataHandlingTest.php | 15 + .../CsvController/CsvDataInitTest.php | 20 + .../GiteaApiControllerTest.php | 15 + .../GiteaApiController/GiteaExportTest.php | 15 + .../GiteaApiController/GiteaFetchTest.php | 30 + .../IssueValidationControllerTest.php | 15 + .../Controllers/ThirdPartyServicesTest.php | 25 + tests/UnitTest.php | 3 - 39 files changed, 2742 insertions(+), 937 deletions(-) delete mode 100644 .env.example create mode 100644 app/Http/Controllers/CsvController/CsvController.php create mode 100644 app/Http/Controllers/CsvController/CsvCostCalc/CsvAgentCost.php create mode 100644 app/Http/Controllers/CsvController/CsvCostCalc/CsvCostCalc.php create mode 100644 app/Http/Controllers/CsvController/CsvCostCalc/CsvMinuteCostCalc.php create mode 100644 app/Http/Controllers/CsvController/CsvCostCalc/CsvSumTotalsCalc.php create mode 100644 app/Http/Controllers/CsvController/CsvCostCalc/CsvTotalCostCalc.php create mode 100644 app/Http/Controllers/CsvController/CsvDataHandling.php create mode 100644 app/Http/Controllers/CsvController/CsvDataInit.php delete mode 100644 app/Http/Controllers/GiteaApiController.php create mode 100644 app/Http/Controllers/GiteaApiController/GiteaApiController.php create mode 100644 app/Http/Controllers/GiteaApiController/GiteaExport.php create mode 100644 app/Http/Controllers/GiteaApiController/GiteaFetch.php create mode 100644 app/Http/Controllers/IssueValidationController.php create mode 100644 app/Http/Controllers/ThirdPartyServices.php create mode 100644 app/Mail/sendExportNotice.php create mode 100644 config/mail.php create mode 100644 resources/views/sendExportNotice.blade.php create mode 100644 tests/CsvGenerationTest.php create mode 100644 tests/Http/Controllers/CsvController/CsvControllerTest.php create mode 100644 tests/Http/Controllers/CsvController/CsvCostCalc/CsvAgentCostTest.php create mode 100644 tests/Http/Controllers/CsvController/CsvCostCalc/CsvCostCalcTest.php create mode 100644 tests/Http/Controllers/CsvController/CsvCostCalc/CsvMinuteCostCalcTest.php create mode 100644 tests/Http/Controllers/CsvController/CsvCostCalc/CsvSumTotalsCalcTest.php create mode 100644 tests/Http/Controllers/CsvController/CsvCostCalc/CsvTotalCostCalcTest.php create mode 100644 tests/Http/Controllers/CsvController/CsvDataHandlingTest.php create mode 100644 tests/Http/Controllers/CsvController/CsvDataInitTest.php create mode 100644 tests/Http/Controllers/GiteaApiController/GiteaApiControllerTest.php create mode 100644 tests/Http/Controllers/GiteaApiController/GiteaExportTest.php create mode 100644 tests/Http/Controllers/GiteaApiController/GiteaFetchTest.php create mode 100644 tests/Http/Controllers/IssueValidationControllerTest.php create mode 100644 tests/Http/Controllers/ThirdPartyServicesTest.php diff --git a/.env.example b/.env.example deleted file mode 100644 index 025554f..0000000 --- a/.env.example +++ /dev/null @@ -1,14 +0,0 @@ -APP_NAME=Lumen -APP_ENV=local -APP_KEY= -APP_DEBUG=true -APP_URL=http://localhost -APP_TIMEZONE=UTC -APP_PASSWORD= - -LOG_CHANNEL=stack -LOG_SLACK_WEBHOOK_URL= - -GITEA_ORGANIZATION= -GITEA_URL= -GITEA_TOKEN= diff --git a/app/Http/Controllers/CheckSimpleAuthController.php b/app/Http/Controllers/CheckSimpleAuthController.php index 1607c9c..ae79922 100644 --- a/app/Http/Controllers/CheckSimpleAuthController.php +++ b/app/Http/Controllers/CheckSimpleAuthController.php @@ -9,7 +9,7 @@ class CheckSimpleAuthController extends Controller { public function check(Request $req) { if ( - getenv('GITEA_ORGANIZATION') === $req->input('organization') + getenv('GITEA_PARTNER_ORGANIZATION') === $req->input('organization') && getenv('APP_PASSWORD') === $req->input('password') ) { diff --git a/app/Http/Controllers/CsvController/CsvController.php b/app/Http/Controllers/CsvController/CsvController.php new file mode 100644 index 0000000..b1cdec5 --- /dev/null +++ b/app/Http/Controllers/CsvController/CsvController.php @@ -0,0 +1,84 @@ +csv_data_init = new CsvDataInit(); + $this->csv_data_handling = new CsvDataHandling(); + $this->third_party_integrations_allow = env('THIRD_PARTY_INTEGRATIONS_ALLOW', false); + } + + function create_columns(array $issue, array $issue_time, array $company_agents = []) + { + try { + $array = $this->csv_data_init->initialize_csv_data($issue); + $array = $this->csv_data_init->handle_labels($array, $issue['labels']); + $array = $this->csv_data_handling->handle_csv_time($array, $issue, $issue_time, $company_agents); + return $array; + } catch (Error $e) { + Log::error('E-CSV-COLUMNS - ' . $e->getMessage()); + throw new RuntimeException("E-CSV-GEN"); + } + } + + private function create_calc_document($reader, $file_name, $is_xls = false) + { + // Determine the appropriate writer based on the file type + $file_extension = $is_xls ? '.xls' : '.csv'; + $writerClass = $is_xls ? Xls::class : Csv::class; + // Create the writer instance + $writer = new $writerClass($reader); + $file_name = $file_name . $file_extension; + $file_path = storage_path() . '/app/' . $file_name; + $writer->save($file_path); + + //Define header information + header('Content-Description: File Transfer'); + header('Content-Type: application/octet-stream'); + header("Cache-Control: no-cache, must-revalidate"); + header("Expires: 0"); + header('Content-Disposition: attachment; filename="' . basename($file_name) . '"'); + header('Content-Length: ' . filesize($file_path)); + header('Pragma: public'); + + //Terminate from the script + return ['file_name' => $file_name, 'file_path' => $file_path]; + } + + function create_csv(string $issues_params_state, string $from_date, string $to_date, array $data) + { + try { + $file_name = $issues_params_state . "_issues_from_" . $from_date . "_to_" . $to_date; + $reader = new Spreadsheet(); + $spreadsheet = $reader->getActiveSheet(); + $headers = array_keys($data[0]); + $data_new = array_unshift($data, $headers); + $spreadsheet->fromArray( + $data + ); + // The code is enclosed in a function for eventual support of multiple file types as xls and ods, as of now a csv will be generated + $csv_file = $this->create_calc_document($reader, $file_name); + // $ods_file = $this->third_party_integrations_allow ? $this->create_calc_document($reader, $file_name) : null; + return $csv_file; + } catch (Error $e) { + Log::error('E-CSV-GEN - ' . $e->getMessage()); + throw new RuntimeException("E-CSV-GEN"); + } + } +} diff --git a/app/Http/Controllers/CsvController/CsvCostCalc/CsvAgentCost.php b/app/Http/Controllers/CsvController/CsvCostCalc/CsvAgentCost.php new file mode 100644 index 0000000..5374406 --- /dev/null +++ b/app/Http/Controllers/CsvController/CsvCostCalc/CsvAgentCost.php @@ -0,0 +1,50 @@ +internal_percentage_to_deduct = getenv('PRICE_INTERNAL_PERCENTAGE_TO_DEDUCT'); + $this->partner_organitation = strtolower(getenv('GITEA_PARTNER_ORGANIZATION')); + $this->CsvMinuteCostCalc = new CsvMinuteCostCalc(); + } + + private function preapare_agents_columns(array $array, array $company_agents) + { + //Add all agents columns + foreach ($company_agents as $company_agent) { + $array[$company_agent] = ''; + $array[$company_agent . ' costo'] = 0; + } + return $array; + } + + private function calculate_agents_cost(array $array, array $agents_time, float $minute_cost) + { + foreach ($agents_time as $name => $agent_time) { + //Identify agents involved in the issue + $array[$name] = gmdate('H:i:s', $agent_time); + $array[$name . ' costo'] = $agent_time / 60 * $minute_cost; + } + + return $array; + } + + function agent_cost_calc(array $array, array $company_agents, array $agents_time) + { + $array = $this->preapare_agents_columns($array, $company_agents); + + //Calculate cost, subtract a % from the minute_cost + $minute_cost = $this->CsvMinuteCostCalc->select_correct_cost($array['Request By'], $array['Priority']); + $minute_cost = $minute_cost - ($minute_cost / 100 * $this->internal_percentage_to_deduct); + + $array = $this->calculate_agents_cost($array, $agents_time, $minute_cost); + + return $array; + } +} diff --git a/app/Http/Controllers/CsvController/CsvCostCalc/CsvCostCalc.php b/app/Http/Controllers/CsvController/CsvCostCalc/CsvCostCalc.php new file mode 100644 index 0000000..3fc80ff --- /dev/null +++ b/app/Http/Controllers/CsvController/CsvCostCalc/CsvCostCalc.php @@ -0,0 +1,31 @@ +internal_percentage_to_deduct = getenv('PRICE_INTERNAL_PERCENTAGE_TO_DEDUCT'); + $this->partner_organitation = strtolower(getenv('GITEA_PARTNER_ORGANIZATION')); + $this->CsvAgentCost = new CsvAgentCost(); + $this->CsvTotalCostCalc = new CsvTotalCostCalc(); + $this->CsvSumTotalsCalc = new CsvSumTotalsCalc(); + } + + + function total_time_cost(array $array, int $total_time) + { + return $this->CsvTotalCostCalc->total_time_cost($array, $total_time); + } + + function agent_cost_calc(array $array, array $company_agents, array $agents_time) + { + return $this->CsvAgentCost->agent_cost_calc($array, $company_agents, $agents_time); + } + + function sum_costs(array $data, array $company_agents = []) + { + return $this->CsvSumTotalsCalc->sum_costs($data, $company_agents); + } +} diff --git a/app/Http/Controllers/CsvController/CsvCostCalc/CsvMinuteCostCalc.php b/app/Http/Controllers/CsvController/CsvCostCalc/CsvMinuteCostCalc.php new file mode 100644 index 0000000..4f6f9ec --- /dev/null +++ b/app/Http/Controllers/CsvController/CsvCostCalc/CsvMinuteCostCalc.php @@ -0,0 +1,59 @@ +internal_percentage_to_deduct = getenv('PRICE_INTERNAL_PERCENTAGE_TO_DEDUCT'); + $this->partner_organization = strtolower(getenv('GITEA_PARTNER_ORGANIZATION')); + $this->price_partner = [ + 'high' => $this->calculate_minute_cost((int)getenv('PRICE_PARTNER_HIGH')), + 'normal' => $this->calculate_minute_cost((int)getenv('PRICE_PARTNER_NORMAL')), + 'low' => $this->calculate_minute_cost((int)getenv('PRICE_PARTNER_LOW')), + '0'=>0, + ]; + $this->price_client = [ + 'high' => $this->calculate_minute_cost((int)getenv('PRICE_CLIENT_HIGH')), + 'normal' => $this->calculate_minute_cost((int)getenv('PRICE_CLIENT_NORMAL')), + 'low' => $this->calculate_minute_cost((int)getenv('PRICE_CLIENT_LOW')), + '0'=>0, + ]; + } + + private function calculate_minute_cost(int $hourly_cost) + { + return $hourly_cost / 60; + } + + private function extract_string_from_label($label) + { + return strtolower(substr($label, strpos($label, '/') + 1)); + } + + function select_correct_cost($requested_by, $priority) + { + $requested_by = $this->extract_string_from_label($requested_by); + $priority = $this->extract_string_from_label($priority); + + $requested_by_partner = str_contains($requested_by, strtolower($this->partner_organization)); + try { + $priority = match ($priority) { + 'critical', 'high' => 'high', + 'medium' => 'normal', + 'low' => 'low', + default =>'0' + }; + } catch (Exception $e) { + Log::error('E-CSV-MINUTECOSTCALC - '. $e->getMessage()); + } + if ($requested_by_partner) { + return $this->price_partner[$priority]; + } + return $this->price_client[$priority]; + } +} diff --git a/app/Http/Controllers/CsvController/CsvCostCalc/CsvSumTotalsCalc.php b/app/Http/Controllers/CsvController/CsvCostCalc/CsvSumTotalsCalc.php new file mode 100644 index 0000000..15986cf --- /dev/null +++ b/app/Http/Controllers/CsvController/CsvCostCalc/CsvSumTotalsCalc.php @@ -0,0 +1,88 @@ +calculate_agent_cost = env('GITEA_CALCULATE_AGENT_COST'); + } + + private function sum_total_cost(array $array) + { + (float)$total = 0; + + foreach ($array as $issue_total) { + $issue_total_cost = $issue_total['Costo totale']; + $total += $issue_total_cost; + } + + $totalSumCsvLine = array( + 'Progetto' => '', + '#' => '', + 'Titolo' => '', + 'URL' => '', + 'Aperto_il' => '', + 'Chiuso_il' => '', + 'Etichette' => '', + 'Kind' => '', + 'Request By' => '', + 'Priority' => '', + 'Tempo totale' => '', + 'Costo totale' => $total, + ); + + array_push($array, $totalSumCsvLine); + return $array; + } + + private function add_agents_csv_line($agent_struct, $last_csv_line) + { + $agents_csv_line = $last_csv_line; + foreach ($agent_struct as $agent_name => $agent_sum) { + $agents_csv_line[$agent_name] = ''; + $agents_csv_line[$agent_name . ' costo'] = $agent_sum; + } + return $agents_csv_line; + } + + private function init_agents_struct($company_agents){ + return array_combine($company_agents, array_fill(0, count($company_agents), 0)); + } + + private function extract_agent_cost(array $array,array $agent_struct){ + $i=0; + $issue_length = count( $array ); + foreach ($array as $issue) { + if(++$i == $issue_length) break; + foreach ($agent_struct as $agent_name => $agent_sum) { + $agent_cost = $issue[$agent_name . ' costo']; + $agent_struct[$agent_name] += $agent_cost; + } + } + return $agent_struct; + } + private function sum_agents_cost($array, $company_agents) + { + $agent_struct = $this->init_agents_struct($company_agents); + $agent_struct = $this->extract_agent_cost($array, $agent_struct); + $agents_csv_line = $this->add_agents_csv_line($agent_struct, end($array)); + $array[key($array)] = $agents_csv_line; + return $array; + } + + function sum_costs(array $array, $company_agents = []) + { + $array = $this->sum_total_cost($array); + + if ($this->calculate_agent_cost) { + $array = $this->sum_agents_cost($array, $company_agents); + } + + return $array; + } +} diff --git a/app/Http/Controllers/CsvController/CsvCostCalc/CsvTotalCostCalc.php b/app/Http/Controllers/CsvController/CsvCostCalc/CsvTotalCostCalc.php new file mode 100644 index 0000000..b61149b --- /dev/null +++ b/app/Http/Controllers/CsvController/CsvCostCalc/CsvTotalCostCalc.php @@ -0,0 +1,22 @@ +CsvMinuteCostCalc = new CsvMinuteCostCalc(); + } + + function total_time_cost(array $array, int $total_time) + { + $minute_cost = $this->CsvMinuteCostCalc->select_correct_cost($array['Request By'], $array['Priority']); + $total_cost = $total_time / 60 * $minute_cost; + $array['Tempo totale'] = gmdate('H:i:s', $total_time); + $array['Costo totale'] = $total_cost; + return $array; + } +} diff --git a/app/Http/Controllers/CsvController/CsvDataHandling.php b/app/Http/Controllers/CsvController/CsvDataHandling.php new file mode 100644 index 0000000..e169ea7 --- /dev/null +++ b/app/Http/Controllers/CsvController/CsvDataHandling.php @@ -0,0 +1,47 @@ +calculate_agent_cost = env('GITEA_CALCULATE_AGENT_COST'); + $this->csv_cost_calc = new CsvCostCalc(); + } + + private function handle_agent_issue($agents_issue_time, $time) + { + $time_agent = $time['user_name']; + !array_key_exists($time_agent, $agents_issue_time) && $agents_issue_time[$time_agent] = 0; + $agents_issue_time[$time_agent] += $time['time']; + return $agents_issue_time; + } + + private function get_issue_total_time(array $issue_time) + { + $total_issue_time = 0; + $agents_issue_time = []; + foreach ($issue_time as $time) { + $total_issue_time += (int)$time['time']; + $this->calculate_agent_cost && $agents_issue_time = $this->handle_agent_issue($agents_issue_time, $time); + } + + return [$total_issue_time, $agents_issue_time]; + } + + function handle_csv_time(array $array, array $issue, array $issue_time, array $company_agents = []) + { + [$total_time, $agents_time] = $this->get_issue_total_time($issue_time); + $array = $this->csv_cost_calc->total_time_cost($array, $total_time); + if ($this->calculate_agent_cost) { + $array = $this->csv_cost_calc->agent_cost_calc($array, $company_agents, $agents_time); + } + return $array; + } +} diff --git a/app/Http/Controllers/CsvController/CsvDataInit.php b/app/Http/Controllers/CsvController/CsvDataInit.php new file mode 100644 index 0000000..b628613 --- /dev/null +++ b/app/Http/Controllers/CsvController/CsvDataInit.php @@ -0,0 +1,50 @@ + $label) { + if (strpos($label['name'],'Kind') !== false) { + $array['Kind'] = $label['name']; + } + if (strpos($label['name'],'RequestBy') !== false) { + $array['Request By'] = $label['name']; + } + if (strpos($label['name'],'Priority') !== false) { + $array['Priority'] = $label['name']; + } + } + return $array; + } + + function initialize_csv_data(array $issue){ + return array( + 'Progetto' => $issue['repository']['name'], + '#' => $issue['number'], + 'Titolo' => $issue['title'], + 'URL' => $issue['html_url'], + 'Aperto_il' => $issue['created_at'], + 'Chiuso_il' => $issue['closed_at'], + 'Etichette' => $this->get_issue_labels($issue), + 'Kind' => '', + 'Request By' => '', + 'Priority' => '', + ); + } +} diff --git a/app/Http/Controllers/GiteaApiController.php b/app/Http/Controllers/GiteaApiController.php deleted file mode 100644 index f84c205..0000000 --- a/app/Http/Controllers/GiteaApiController.php +++ /dev/null @@ -1,170 +0,0 @@ -organization = getenv('GITEA_ORGANIZATION'); - $this->giteaClient = new Client(null, null, getenv('GITEA_URL')); - $this->giteaClient->authenticate(getenv('GITEA_TOKEN'), null, Client::AUTH_ACCESS_TOKEN); - } - - private function get_repositories() - { - $repositories = $this->giteaClient->organizations()->repositories($this->organization, 1, 9999); - return $repositories; - } - - private function get_issues(string $repository, array $parameters = array()) - { - return $issues = $this->giteaClient->repositories()->issues()->all($this->organization, $repository, $parameters); - } - - private function get_issue_total_time(string $repository, int $id) - { - $times = $this->giteaClient->repositories()->issues()->times($this->organization, $repository, $id); - $count = 0; - foreach ($times as $time) { - $count += (int) $time['time']; - } - - return $count; - } - - private function get_issue_labels(array $issue) - { - $labels = ''; - foreach ($issue['labels'] as $label) { - $labels .= $label['name'] . ','; - } - return $labels; - } - - private function create_columns(array $issue) - { - $array = array( - 'Progetto' => $issue['repository']['name'], - '#' => $issue['number'], - 'Titolo' => $issue['title'], - 'URL' => $issue['html_url'], - 'Aperto_il' => $issue['created_at'], - 'Chiuso_il' => $issue['closed_at'], - 'Etichette' => $this->get_issue_labels($issue), - 'Kind' => '', - 'Request By' => '', - 'Priority' => '', - 'Tempo' => gmdate('H:i:s', $this->get_issue_total_time($issue['repository']['name'], $issue['number'])), - ); - - foreach ($issue['labels'] as $key => $label) { - if (strpos($label['name'],'Kind') !== false) { - $array['Kind'] = $label['name']; - } - if (strpos($label['name'],'RequestBy') !== false) { - $array['Request By'] = $label['name']; - } - if (strpos($label['name'],'Priority') !== false) { - $array['Priority'] = $label['name']; - } - } - - return $array; - } - - private function create_csv(string $file_name, array $data) - { - $reader = new Spreadsheet(); - $spreadsheet = $reader->getActiveSheet(); - $headers = array_keys($data[0]); - $data_new = array_unshift($data, $headers); - $spreadsheet->fromArray( - $data, - null, - 'A1' - ); - - //dd($spreadsheet); - $filename = $file_name . '.xls'; - - $writer = new Xls($reader); - $writer->save($filename); - - //Define header information - header('Content-Description: File Transfer'); - header('Content-Type: application/octet-stream'); - header("Cache-Control: no-cache, must-revalidate"); - header("Expires: 0"); - header('Content-Disposition: attachment; filename="' . basename($filename) . '"'); - header('Content-Length: ' . filesize($filename)); - header('Pragma: public'); - - //Clear system output buffer - flush(); - - //Read the size of the file - readfile($filename); - - unlink($filename); - - //Terminate from the script - die(); - } - - private function date_to_datetime(string $date) - { - $date = str_replace('/', '-', $date); - $datetime = new DateTime($date); - - return $datetime->format('Y-m-d H:i:s'); - } - - private function export_issues(string $from_date, string $to_date, array $issues_params) - { - $data = array(); - $repositories = $this->get_repositories(); - foreach ($repositories as $repository) { - $issues = $this->get_issues($repository['name'], $issues_params); - foreach ($issues as $issue) { - $from_datetime = $this->date_to_datetime($from_date); - $to_datetime = $this->date_to_datetime($to_date); - if (substr($issue['closed_at'], 0, 19) > $from_datetime && substr($issue['closed_at'], 0, 19) <= $to_datetime) { - $data[] = $this->create_columns($issue); - } - } - } - - if (count($data) > 0) { - $file_name = $issues_params['state'] . "_issues_from_" . $from_date . "_to_" . $to_date; - $this->create_csv($file_name, $data); - return true; - } - return false; - } - - public function export_closed_issues(Request $req) - { - if ($req->input('token') != getenv('GITEA_TOKEN')) { - return redirect('/'); - } - $from = $req->input('from_year') . '-' . $req->input('from_month') . '-01'; - $to = $req->input('to_year') . '-' . $req->input('to_month') . '-31'; - $res = $this->export_issues($from, $to, ['state' => $req->input('issues_type')]); - - return view('backend', [ - 'token' => getenv('GITEA_TOKEN'), - 'download' => $res - ]); - } -} diff --git a/app/Http/Controllers/GiteaApiController/GiteaApiController.php b/app/Http/Controllers/GiteaApiController/GiteaApiController.php new file mode 100644 index 0000000..5442533 --- /dev/null +++ b/app/Http/Controllers/GiteaApiController/GiteaApiController.php @@ -0,0 +1,31 @@ +gitea_export = new GiteaExport(); + } + + public function export_closed_issues(Request $req) + { + if ($req->input('token') != getenv('GITEA_TOKEN')) { + return redirect('/'); + } + $from = $req->input('from_year') . '-' . $req->input('from_month') . '-01'; + $to = $req->input('to_year') . '-' . $req->input('to_month') . '-31'; + $res = $this->gitea_export->export_issues($from, $to, ['state' => $req->input('issues_type')]); + + return view('backend', [ + 'token' => getenv('GITEA_TOKEN'), + 'download' => $res + ]); + } +} diff --git a/app/Http/Controllers/GiteaApiController/GiteaExport.php b/app/Http/Controllers/GiteaApiController/GiteaExport.php new file mode 100644 index 0000000..d8382a3 --- /dev/null +++ b/app/Http/Controllers/GiteaApiController/GiteaExport.php @@ -0,0 +1,80 @@ +third_party_integrations_allow = env('THIRD_PARTY_INTEGRATIONS_ALLOW', false); + $this->calculate_agent_cost = env('GITEA_CALCULATE_AGENT_COST', false); + $this->email_send_allow = env('EMAIL_SEND_ALLOW', false); + $this->email_address = env('EMAIL_ADDRESS', false); + $this->email_prefix_subject = env('EMAIL_PREFIX_SUBJECT', false); + $this->giteaClient = new Client(null, null, getenv('GITEA_URL')); + $this->giteaClient->authenticate(getenv('GITEA_TOKEN'), null, Client::AUTH_ACCESS_TOKEN); + $this->issue_validation_controller = new IssueValidationController(); + $this->csv_controller = new CsvController(); + $this->gitea_fetch = new GiteaFetch(); + $this->csv_cost_calc = new CsvCostCalc(); + $this->third_party_services = new ThirdPartyServices(); + } + + private function handle_repos(string $from_date, string $to_date, array $repositories, array $issues_params){ + $data = []; + foreach ($repositories as $repository) { + $issues = $this->gitea_fetch->get_issues($repository['name'], $issues_params); + foreach ($issues as $issue) { + $issue_time = $this->gitea_fetch->get_issue_time($repository['name'], $issue['number']); + $issue_valid = $this->issue_validation_controller->handle_single_issue($from_date, $to_date, $issue, $issue_time); + if ($issue_valid) { + $company_agents = $this->calculate_agent_cost ? $this->gitea_fetch->get_company_agents() : []; + $data[] = $this->csv_controller->create_columns($issue, $issue_time, $company_agents); + } + } + } + return $data; + } + + + function export_issues(string $from_date, string $to_date, array $issues_params) + { + $repositories = $this->gitea_fetch->get_repositories(); + $data = $this->handle_repos($from_date, $to_date, $repositories, $issues_params); + if (count($data) > 0) { + $company_agents = $this->calculate_agent_cost ? $this->gitea_fetch->get_company_agents() : []; + $data = $this->csv_cost_calc->sum_costs($data, $company_agents); + $csv_file = $this->csv_controller->create_csv($issues_params['state'], $from_date, $to_date, $data); + if($this->third_party_integrations_allow) { + $this->third_party_services->handle_third_party_services($csv_file['file_name'], $csv_file['file_path'], $data, $company_agents, $from_date, $to_date); + } + isset($csv_file['file_path']) ?? unlink($csv_file['file_path']); + readfile($csv_file['file_path']); + unlink($csv_file['file_path']); + return true; + } + return false; + } +} diff --git a/app/Http/Controllers/GiteaApiController/GiteaFetch.php b/app/Http/Controllers/GiteaApiController/GiteaFetch.php new file mode 100644 index 0000000..d003ecb --- /dev/null +++ b/app/Http/Controllers/GiteaApiController/GiteaFetch.php @@ -0,0 +1,61 @@ +main_company_organization = getenv('GITEA_MAIN_COMPANY_ORGANIZATION'); + $this->partner_organization = getenv('GITEA_PARTNER_ORGANIZATION'); + $this->gitea_url = getenv('GITEA_URL'); + $this->gitea_token = getenv('GITEA_TOKEN'); + $this->giteaClient = new Client(null, null, $this->gitea_url); + $this->giteaClient->authenticate($this->gitea_token, null, Client::AUTH_ACCESS_TOKEN); + } + + function get_repositories() + { + $repositories = $this->giteaClient->organizations()->repositories($this->partner_organization, 1, 9999); + return $repositories; + } + + function get_issues(string $repository, array $parameters = array()) + { + return $this->giteaClient->repositories()->issues()->all($this->partner_organization, $repository, $parameters); + } + + function get_issue_time(string $repository_name, int $issue_number){ + return $this->giteaClient->repositories()->issues()->times($this->partner_organization, $repository_name, $issue_number); + } + + function get_company_agents() + { + $gitea_api_call_url = $this->gitea_url . '/api/v1/orgs/' . $this->main_company_organization . '/members'; + $http_client = new GuzzleClient(); + $res = $http_client->get($gitea_api_call_url, [ + 'headers' => [ + 'Authorization' => 'token ' . $this->gitea_token + ] + ]); + $responseBody = $res->getBody()->getContents(); + $users = json_decode($responseBody, true); + //removes 1st user, usually it's the admin + array_shift($users); + $users = array_column($users, 'username'); + return $users; + } +} diff --git a/app/Http/Controllers/IssueValidationController.php b/app/Http/Controllers/IssueValidationController.php new file mode 100644 index 0000000..8c7c5e6 --- /dev/null +++ b/app/Http/Controllers/IssueValidationController.php @@ -0,0 +1,57 @@ +format('Y-m-d H:i:s'); + } + + private function search_requested_by($issue_labels){ + foreach ($issue_labels as $key => $label) { + if (strpos($label['name'],'RequestBy') !== false) { + return true; + } + } + return false; + } + + private function get_issue_total_time(array $issue_time) + { + $count = 0; + foreach ($issue_time as $time) { + $count += (int) $time['time']; + } + + return $count; + } + + private function check_issue_is_billed(array $issue_labels, array $issue_time): bool { + $issue_time = $this->get_issue_total_time($issue_time); + $issue_time = (gmdate('H:i:s', $issue_time) !== '00:00:00'); + $label_requested_by_index = $this->search_requested_by($issue_labels); + return $issue_time && $label_requested_by_index; + } + + function handle_single_issue(string $from_date, string $to_date, array $issue, array $issue_time){ + $from_datetime = $this->date_to_datetime($from_date); + $to_datetime = $this->date_to_datetime($to_date); + $closed_after_inital_date = substr($issue['closed_at'], 0, 19) > $from_datetime; + $closed_after_ending_date = substr($issue['closed_at'], 0, 19) <= $to_datetime; + $issue_is_billed = false; + if(isset($issue['labels']) && sizeof($issue['labels']) > 0) { + $issue_is_billed = $this->check_issue_is_billed($issue['labels'], $issue_time); + } + return $closed_after_inital_date && $closed_after_ending_date && $issue_is_billed; + } +} diff --git a/app/Http/Controllers/ThirdPartyServices.php b/app/Http/Controllers/ThirdPartyServices.php new file mode 100644 index 0000000..354840c --- /dev/null +++ b/app/Http/Controllers/ThirdPartyServices.php @@ -0,0 +1,97 @@ +third_party_integrations_nextcloud = env('THIRD_PARTY_INTEGRATIONS_NEXTCLOUD', false); + $this->third_party_integrations_open_project = env('THIRD_PARTY_INTEGRATIONS_OPEN_PROJECT', false); + $this->nextcloud_url = env('NEXTCLOUD_URL', false); + $this->nextcloud_user = env('NEXTCLOUD_USER', false); + $this->nextcloud_password = env('NEXTCLOUD_PASSWORD', false); + $this->nextcloud_upload_folder_path = env('NEXTCLOUD_UPLOAD_FOLDER_PATH', false); + $this->nextcloud_upload_folder_web_link = env('NEXTCLOUD_UPLOAD_FOLDER_WEB_LINK', false); + $this->openproject_url = env('OPENPROJECT_URL', false); + $this->openproject_token = env('OPENPROJECT_TOKEN', false); + $this->openproject_project = env('OPENPROJECT_PROJECT', false); + $this->openproject_task_name = env('OPENPROJECT_TASK_NAME', false); + $this->email_send_allow = env('EMAIL_SEND_ALLOW', false); + $this->email_address_recepient = env('EMAIL_ADDRESS_RECEPIENT', null); + $this->email_prefix_subject = env('EMAIL_PREFIX_SUBJECT', null); + } + + function nextcloud_upload_csv(string $file_name, string $file_path) + { + try { + $nextcloud_url = $this->nextcloud_url . '/remote.php/dav/files/' . $this->nextcloud_user . '/' . $this->nextcloud_upload_folder_path . '/' . $file_name; + $file_contents = fopen($file_path, 'r'); + try { + $res = Http::withBasicAuth($this->nextcloud_user, $this->nextcloud_password) + ->attach($file_name, $file_contents) + ->put($nextcloud_url); + $res->throw(); + } catch (\Exception $e) { + Log::error('nextcloud_upload_csv Upload error - ' . $e->getMessage()); + throw new RuntimeException("E-NEXTCLOUD-UPLOAD"); + } + // Close the file handle + fclose($file_contents); + return $res; + } catch (\Exception $e) { + return false; + } + } + + function openproject_add_task_to_agent(array $issues, array $company_agents) + { + $openproject_main_group_members_url = $this->openproject_url . '/api/v3/groups/' . $this->openproject_group_id; + try { + $res = Http::withToken($this->openproject_token)->get($openproject_url); + $res->throw(); + } catch (\Exception $e) { + Log::error('nextcloud_upload_csv Upload error - ' . $e->getMessage()); + throw new RuntimeException("E-NEXTCLOUD-UPLOAD"); + } + } + + function send_export_via_email(string $from_date, string $to_date, string $file_name){ + $email_subject = $this->email_prefix_subject . ' '. $from_date.' - '.$to_date; + Mail::to($this->email_address_recepient)->send(new sendExportNotice(['export_date' => $email_subject, 'file_name' => $file_name, 'upload_folder_web_link' => $this->nextcloud_upload_folder_web_link], $email_subject)); + return true; + } + + function handle_third_party_services(string $file_name, string $file_path, array $issues, array $company_agents, string $from_date, string $to_date) + { + $nextcloud_res = $open_project_res = $email_res = false; + if ($this->third_party_integrations_nextcloud) { + $nextcloud_res = $this->nextcloud_upload_csv($file_name, $file_path); + } + if ($this->third_party_integrations_open_project) { + $open_project_res = $this->openproject_add_task_to_agent($issues, $company_agents); + } + if($this->email_send_allow) { + $email_res = $this->send_export_via_email($from_date, $to_date, $file_name); + } + return [$nextcloud_res, $open_project_res, $email_res]; + } +} diff --git a/app/Mail/sendExportNotice.php b/app/Mail/sendExportNotice.php new file mode 100644 index 0000000..dbce219 --- /dev/null +++ b/app/Mail/sendExportNotice.php @@ -0,0 +1,34 @@ +data = $data; + $this->email_subject = $email_subject; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + return $this->view('sendExportNotice')->with($this->data)->subject($this->email_subject); + } +} diff --git a/bootstrap/app.php b/bootstrap/app.php index ece1666..14ed0d0 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -96,6 +96,17 @@ $app->configure('app'); // $app->register(App\Providers\EventServiceProvider::class); $app->register(Flipbox\LumenGenerator\LumenGeneratorServiceProvider::class); +$app->register(Illuminate\Mail\MailServiceProvider::class); + +$app->configure('mail'); + +$app->alias('mail.manager', Illuminate\Mail\MailManager::class); +$app->alias('mail.manager', Illuminate\Contracts\Mail\Factory::class); + +$app->alias('mailer', Illuminate\Mail\Mailer::class); +$app->alias('mailer', Illuminate\Contracts\Mail\Mailer::class); +$app->alias('mailer', Illuminate\Contracts\Mail\MailQueue::class); + /* |-------------------------------------------------------------------------- | Load The Application Routes diff --git a/composer.json b/composer.json index 8d44897..6ffb886 100644 --- a/composer.json +++ b/composer.json @@ -13,6 +13,7 @@ "flipbox/lumen-generator": "^9.2", "guzzlehttp/guzzle": "^7.4", "http-interop/http-factory-guzzle": "^1.2", + "illuminate/mail": "^10.48", "laravel/lumen-framework": "^10.0", "owenvoke/gitea": "dev-main as 0.1.6", "phpoffice/phpspreadsheet": "^1.29" diff --git a/composer.lock b/composer.lock index 334665b..f6347d9 100644 --- a/composer.lock +++ b/composer.lock @@ -4,29 +4,29 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "33c1d0aeac036ce3a7c0a65b6724e9e3", + "content-hash": "fb96a63cec9eab92f1a03f978c32ee4c", "packages": [ { "name": "brick/math", - "version": "0.11.0", + "version": "0.12.1", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" + "reference": "f510c0a40911935b77b86859eb5223d58d660df1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", - "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", + "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", + "reference": "f510c0a40911935b77b86859eb5223d58d660df1", "shasum": "" }, "require": { - "php": "^8.0" + "php": "^8.1" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^9.0", - "vimeo/psalm": "5.0.0" + "phpunit/phpunit": "^10.1", + "vimeo/psalm": "5.16.0" }, "type": "library", "autoload": { @@ -46,12 +46,17 @@ "arithmetic", "bigdecimal", "bignum", + "bignumber", "brick", - "math" + "decimal", + "integer", + "math", + "mathematics", + "rational" ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.11.0" + "source": "https://github.com/brick/math/tree/0.12.1" }, "funding": [ { @@ -59,7 +64,76 @@ "type": "github" } ], - "time": "2023-01-15T23:15:59+00:00" + "time": "2023-11-29T23:19:16+00:00" + }, + { + "name": "carbonphp/carbon-doctrine-types", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "doctrine/dbal": "<3.7.0 || >=4.0.0" + }, + "require-dev": { + "doctrine/dbal": "^3.7.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2023-12-11T17:09:12+00:00" }, { "name": "classpreloader/classpreloader", @@ -130,23 +204,23 @@ }, { "name": "clue/stream-filter", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/clue/stream-filter.git", - "reference": "d6169430c7731d8509da7aecd0af756a5747b78e" + "reference": "049509fef80032cb3f051595029ab75b49a3c2f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/clue/stream-filter/zipball/d6169430c7731d8509da7aecd0af756a5747b78e", - "reference": "d6169430c7731d8509da7aecd0af756a5747b78e", + "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7", + "reference": "049509fef80032cb3f051595029ab75b49a3c2f7", "shasum": "" }, "require": { "php": ">=5.3" }, "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, "type": "library", "autoload": { @@ -168,7 +242,7 @@ } ], "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/php-stream-filter", + "homepage": "https://github.com/clue/stream-filter", "keywords": [ "bucket brigade", "callback", @@ -180,7 +254,7 @@ ], "support": { "issues": "https://github.com/clue/stream-filter/issues", - "source": "https://github.com/clue/stream-filter/tree/v1.6.0" + "source": "https://github.com/clue/stream-filter/tree/v1.7.0" }, "funding": [ { @@ -192,20 +266,95 @@ "type": "github" } ], - "time": "2022-02-21T13:15:14+00:00" + "time": "2023-12-20T15:40:13+00:00" }, { - "name": "doctrine/inflector", - "version": "2.0.8", + "name": "dflydev/dot-access-data", + "version": "v3.0.3", "source": { "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff" + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff", - "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" + }, + "time": "2024-07-08T12:26:09+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.10", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", "shasum": "" }, "require": { @@ -267,7 +416,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.8" + "source": "https://github.com/doctrine/inflector/tree/2.0.10" }, "funding": [ { @@ -283,31 +432,31 @@ "type": "tidelift" } ], - "time": "2023-06-16T13:40:37+00:00" + "time": "2024-02-18T20:23:39+00:00" }, { "name": "doctrine/lexer", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "84a527db05647743d50373e0ec53a152f2cde568" + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", - "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", "shasum": "" }, "require": { "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^9.5", + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^5.0" + "vimeo/psalm": "^5.21" }, "type": "library", "autoload": { @@ -344,7 +493,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/3.0.0" + "source": "https://github.com/doctrine/lexer/tree/3.0.1" }, "funding": [ { @@ -360,7 +509,7 @@ "type": "tidelift" } ], - "time": "2022-12-15T16:57:16+00:00" + "time": "2024-02-05T11:56:58+00:00" }, { "name": "dragonmantank/cron-expression", @@ -492,20 +641,20 @@ }, { "name": "ezyang/htmlpurifier", - "version": "v4.16.0", + "version": "v4.17.0", "source": { "type": "git", "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8" + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c", "shasum": "" }, "require": { - "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0" + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { "cerdic/css-tidy": "^1.7 || ^2.0", @@ -547,31 +696,31 @@ ], "support": { "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0" + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" }, - "time": "2022-09-18T07:06:19+00:00" + "time": "2023-11-17T15:01:25+00:00" }, { "name": "flipbox/lumen-generator", - "version": "9.2.0", + "version": "9.3.0", "source": { "type": "git", "url": "https://github.com/flipboxstudio/lumen-generator.git", - "reference": "95b88d1be59e0936407d04e3271ce819fefa06e3" + "reference": "0408733494716728bea7a3efc3df59896ea23b71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/flipboxstudio/lumen-generator/zipball/95b88d1be59e0936407d04e3271ce819fefa06e3", - "reference": "95b88d1be59e0936407d04e3271ce819fefa06e3", + "url": "https://api.github.com/repos/flipboxstudio/lumen-generator/zipball/0408733494716728bea7a3efc3df59896ea23b71", + "reference": "0408733494716728bea7a3efc3df59896ea23b71", "shasum": "" }, "require": { "classpreloader/classpreloader": "^3.0|^4.0|^4.2", - "illuminate/console": "^5.5|^6.0|^7.0|^8.0|^8.17|^9.0|^10.0", - "illuminate/filesystem": "^5.5|^6.0|^7.0|^8.0|^8.17|^9.0|^10.0", - "illuminate/support": "^5.5|^6.0|^7.0|^8.0|^8.17|^9.0|^10.0", - "psy/psysh": "0.9.*|0.10.*|0.11.*", - "symfony/var-dumper": "^4.2|^4.3|^5.0|^5.1|^5.2|^6.0" + "illuminate/console": "^6.0|^7.0|^8.0|^8.17|^9.0|^10.0|^11.0", + "illuminate/filesystem": "^6.0|^7.0|^8.0|^8.17|^9.0|^10.0|^11.0", + "illuminate/support": "^6.0|^7.0|^8.0|^8.17|^9.0|^10.0|^11.0", + "psy/psysh": "^0.12", + "symfony/var-dumper": "^5.1|^5.2|^6.0|^7.0" }, "suggest": { "anik/form-request": "Required to use form request in Lumen." @@ -595,27 +744,27 @@ "description": "A Lumen Generator You Are Missing", "support": { "issues": "https://github.com/flipboxstudio/lumen-generator/issues", - "source": "https://github.com/flipboxstudio/lumen-generator/tree/9.2.0" + "source": "https://github.com/flipboxstudio/lumen-generator/tree/9.3.0" }, - "time": "2023-02-27T22:49:52+00:00" + "time": "2024-03-07T02:03:29+00:00" }, { "name": "fruitcake/php-cors", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/fruitcake/php-cors.git", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e" + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", "shasum": "" }, "require": { "php": "^7.4|^8.0", - "symfony/http-foundation": "^4.4|^5.4|^6" + "symfony/http-foundation": "^4.4|^5.4|^6|^7" }, "require-dev": { "phpstan/phpstan": "^1.4", @@ -625,7 +774,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.1-dev" + "dev-master": "1.2-dev" } }, "autoload": { @@ -656,7 +805,7 @@ ], "support": { "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/v1.2.0" + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" }, "funding": [ { @@ -668,28 +817,28 @@ "type": "github" } ], - "time": "2022-02-20T15:07:15+00:00" + "time": "2023-10-12T05:21:21+00:00" }, { "name": "graham-campbell/result-type", - "version": "v1.1.1", + "version": "v1.1.2", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831" + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831", - "reference": "672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.1" + "phpoption/phpoption": "^1.9.2" }, "require-dev": { - "phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12" + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" }, "type": "library", "autoload": { @@ -718,7 +867,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.1" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" }, "funding": [ { @@ -730,26 +879,26 @@ "type": "tidelift" } ], - "time": "2023-02-25T20:23:15+00:00" + "time": "2023-11-12T22:16:48+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.8.0", + "version": "7.9.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9" + "reference": "84ac2b2afc44e40d3e8e658a45d68d6d20437612" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9", - "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/84ac2b2afc44e40d3e8e658a45d68d6d20437612", + "reference": "84ac2b2afc44e40d3e8e658a45d68d6d20437612", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^1.5.3 || ^2.0.3", + "guzzlehttp/psr7": "^2.7.0", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -758,11 +907,11 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -840,7 +989,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.0" + "source": "https://github.com/guzzle/guzzle/tree/7.9.0" }, "funding": [ { @@ -856,28 +1005,28 @@ "type": "tidelift" } ], - "time": "2023-08-27T10:20:53+00:00" + "time": "2024-07-18T11:52:56+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "111166291a0f8130081195ac4556a5587d7f1b5d" + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/111166291a0f8130081195ac4556a5587d7f1b5d", - "reference": "111166291a0f8130081195ac4556a5587d7f1b5d", + "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "type": "library", "extra": { @@ -923,7 +1072,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.1" + "source": "https://github.com/guzzle/promises/tree/2.0.3" }, "funding": [ { @@ -939,20 +1088,20 @@ "type": "tidelift" } ], - "time": "2023-08-03T15:11:55+00:00" + "time": "2024-07-18T10:29:17+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.1", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727" + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727", - "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", "shasum": "" }, "require": { @@ -966,9 +1115,9 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1039,7 +1188,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.1" + "source": "https://github.com/guzzle/psr7/tree/2.7.0" }, "funding": [ { @@ -1055,32 +1204,38 @@ "type": "tidelift" } ], - "time": "2023-08-27T10:13:57+00:00" + "time": "2024-07-18T11:15:46+00:00" }, { "name": "guzzlehttp/uri-template", - "version": "v1.0.2", + "version": "v1.0.3", "source": { "type": "git", "url": "https://github.com/guzzle/uri-template.git", - "reference": "61bf437fc2197f587f6857d3ff903a24f1731b5d" + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/61bf437fc2197f587f6857d3ff903a24f1731b5d", - "reference": "61bf437fc2197f587f6857d3ff903a24f1731b5d", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "symfony/polyfill-php80": "^1.17" + "symfony/polyfill-php80": "^1.24" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "phpunit/phpunit": "^8.5.19 || ^9.5.8", + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", "uri-template/tests": "1.0.0" }, "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, "autoload": { "psr-4": { "GuzzleHttp\\UriTemplate\\": "src" @@ -1119,7 +1274,7 @@ ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.2" + "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" }, "funding": [ { @@ -1135,7 +1290,7 @@ "type": "tidelift" } ], - "time": "2023-08-27T10:19:19+00:00" + "time": "2023-12-03T19:50:20+00:00" }, { "name": "http-interop/http-factory-guzzle", @@ -1197,16 +1352,16 @@ }, { "name": "illuminate/auth", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/auth.git", - "reference": "fd449badeff0165d7f30b8eb40a638aec2916db6" + "reference": "7ebd1ed1145e205b283836ba780861da6b1abab6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/auth/zipball/fd449badeff0165d7f30b8eb40a638aec2916db6", - "reference": "fd449badeff0165d7f30b8eb40a638aec2916db6", + "url": "https://api.github.com/repos/illuminate/auth/zipball/7ebd1ed1145e205b283836ba780861da6b1abab6", + "reference": "7ebd1ed1145e205b283836ba780861da6b1abab6", "shasum": "" }, "require": { @@ -1251,20 +1406,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-09-14T13:01:30+00:00" + "time": "2024-02-26T08:10:21+00:00" }, { "name": "illuminate/broadcasting", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/broadcasting.git", - "reference": "16aa59373cd3e7cadf366903425c8a0d94a45b10" + "reference": "f02fcd672bf42662bcb8517ee52b929f1c07f35f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/broadcasting/zipball/16aa59373cd3e7cadf366903425c8a0d94a45b10", - "reference": "16aa59373cd3e7cadf366903425c8a0d94a45b10", + "url": "https://api.github.com/repos/illuminate/broadcasting/zipball/f02fcd672bf42662bcb8517ee52b929f1c07f35f", + "reference": "f02fcd672bf42662bcb8517ee52b929f1c07f35f", "shasum": "" }, "require": { @@ -1309,20 +1464,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-08-25T13:32:38+00:00" + "time": "2024-03-05T14:54:33+00:00" }, { "name": "illuminate/bus", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/bus.git", - "reference": "aba48b9b7b9266a62b8e5ece47919533b3d49de7" + "reference": "252e200dacaeb168675cbf1aa26dbead57492a6c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/bus/zipball/aba48b9b7b9266a62b8e5ece47919533b3d49de7", - "reference": "aba48b9b7b9266a62b8e5ece47919533b3d49de7", + "url": "https://api.github.com/repos/illuminate/bus/zipball/252e200dacaeb168675cbf1aa26dbead57492a6c", + "reference": "252e200dacaeb168675cbf1aa26dbead57492a6c", "shasum": "" }, "require": { @@ -1362,20 +1517,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-08-27T20:33:50+00:00" + "time": "2024-05-24T17:00:27+00:00" }, { "name": "illuminate/cache", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/cache.git", - "reference": "a31defc834c6ebaddd1dccc6358306562209f481" + "reference": "6020bc5f40b62cc680be3eb57e980e5cb26884ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/cache/zipball/a31defc834c6ebaddd1dccc6358306562209f481", - "reference": "a31defc834c6ebaddd1dccc6358306562209f481", + "url": "https://api.github.com/repos/illuminate/cache/zipball/6020bc5f40b62cc680be3eb57e980e5cb26884ff", + "reference": "6020bc5f40b62cc680be3eb57e980e5cb26884ff", "shasum": "" }, "require": { @@ -1424,20 +1579,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-02T18:20:22+00:00" + "time": "2024-05-23T18:38:25+00:00" }, { "name": "illuminate/collections", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/collections.git", - "reference": "bb8784ce913bd46f944b4bd67cd857f40d9cfe68" + "reference": "37c863cffb345869dd134eff8e646bc82a19cc96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/bb8784ce913bd46f944b4bd67cd857f40d9cfe68", - "reference": "bb8784ce913bd46f944b4bd67cd857f40d9cfe68", + "url": "https://api.github.com/repos/illuminate/collections/zipball/37c863cffb345869dd134eff8e646bc82a19cc96", + "reference": "37c863cffb345869dd134eff8e646bc82a19cc96", "shasum": "" }, "require": { @@ -1479,11 +1634,11 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-10T12:55:25+00:00" + "time": "2024-06-19T14:25:05+00:00" }, { "name": "illuminate/conditionable", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/conditionable.git", @@ -1529,7 +1684,7 @@ }, { "name": "illuminate/config", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/config.git", @@ -1577,16 +1732,16 @@ }, { "name": "illuminate/console", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/console.git", - "reference": "cde1c0af65175205d839d9d7366ea06e2e154964" + "reference": "d10e2fb5331b82b2e58a9be05ea798e5a0899890" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/console/zipball/cde1c0af65175205d839d9d7366ea06e2e154964", - "reference": "cde1c0af65175205d839d9d7366ea06e2e154964", + "url": "https://api.github.com/repos/illuminate/console/zipball/d10e2fb5331b82b2e58a9be05ea798e5a0899890", + "reference": "d10e2fb5331b82b2e58a9be05ea798e5a0899890", "shasum": "" }, "require": { @@ -1638,11 +1793,11 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-09T14:21:07+00:00" + "time": "2024-06-18T17:24:16+00:00" }, { "name": "illuminate/container", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/container.git", @@ -1693,16 +1848,16 @@ }, { "name": "illuminate/contracts", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", - "reference": "6c39fba7b2311e28f5c6ac7d729e3d49a2a98406" + "reference": "8d7152c4a1f5d9cf7da3e8b71f23e4556f6138ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/6c39fba7b2311e28f5c6ac7d729e3d49a2a98406", - "reference": "6c39fba7b2311e28f5c6ac7d729e3d49a2a98406", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/8d7152c4a1f5d9cf7da3e8b71f23e4556f6138ac", + "reference": "8d7152c4a1f5d9cf7da3e8b71f23e4556f6138ac", "shasum": "" }, "require": { @@ -1737,24 +1892,24 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-09-05T19:07:46+00:00" + "time": "2024-01-15T18:52:32+00:00" }, { "name": "illuminate/database", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/database.git", - "reference": "7b82234921a80bfc7a8fe67ff3ba3043c384fc04" + "reference": "ec00738a49e9fb0db4fc19b5d70310e214b32bff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/database/zipball/7b82234921a80bfc7a8fe67ff3ba3043c384fc04", - "reference": "7b82234921a80bfc7a8fe67ff3ba3043c384fc04", + "url": "https://api.github.com/repos/illuminate/database/zipball/ec00738a49e9fb0db4fc19b5d70310e214b32bff", + "reference": "ec00738a49e9fb0db4fc19b5d70310e214b32bff", "shasum": "" }, "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11", + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", "ext-pdo": "*", "illuminate/collections": "^10.0", "illuminate/container": "^10.0", @@ -1763,6 +1918,10 @@ "illuminate/support": "^10.0", "php": "^8.1" }, + "conflict": { + "carbonphp/carbon-doctrine-types": ">=3.0", + "doctrine/dbal": ">=4.0" + }, "suggest": { "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", "ext-filter": "Required to use the Postgres database driver.", @@ -1806,20 +1965,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-09T18:36:56+00:00" + "time": "2024-07-03T21:35:00+00:00" }, { "name": "illuminate/encryption", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/encryption.git", - "reference": "9c6467096678b6175389e2eeab4dbe610679a749" + "reference": "0ab9942a891f82f927d03abb9a7320b89262f2a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/encryption/zipball/9c6467096678b6175389e2eeab4dbe610679a749", - "reference": "9c6467096678b6175389e2eeab4dbe610679a749", + "url": "https://api.github.com/repos/illuminate/encryption/zipball/0ab9942a891f82f927d03abb9a7320b89262f2a2", + "reference": "0ab9942a891f82f927d03abb9a7320b89262f2a2", "shasum": "" }, "require": { @@ -1857,20 +2016,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-02-07T10:24:10+00:00" + "time": "2023-11-21T16:21:31+00:00" }, { "name": "illuminate/events", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/events.git", - "reference": "e8cbfa31e1ada8d178ffcd7a5e26e101ec280c59" + "reference": "a931bfa88edc6ac52c9abbfd7b769343d321d3eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/events/zipball/e8cbfa31e1ada8d178ffcd7a5e26e101ec280c59", - "reference": "e8cbfa31e1ada8d178ffcd7a5e26e101ec280c59", + "url": "https://api.github.com/repos/illuminate/events/zipball/a931bfa88edc6ac52c9abbfd7b769343d321d3eb", + "reference": "a931bfa88edc6ac52c9abbfd7b769343d321d3eb", "shasum": "" }, "require": { @@ -1912,20 +2071,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-08-11T15:02:04+00:00" + "time": "2024-03-04T14:41:04+00:00" }, { "name": "illuminate/filesystem", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/filesystem.git", - "reference": "8f355f9e281a4219671be0a82195f49153b1bced" + "reference": "592fb581a52fba43bf78c2e4b22db540c9f9f149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/filesystem/zipball/8f355f9e281a4219671be0a82195f49153b1bced", - "reference": "8f355f9e281a4219671be0a82195f49153b1bced", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/592fb581a52fba43bf78c2e4b22db540c9f9f149", + "reference": "592fb581a52fba43bf78c2e4b22db540c9f9f149", "shasum": "" }, "require": { @@ -1956,6 +2115,9 @@ } }, "autoload": { + "files": [ + "functions.php" + ], "psr-4": { "Illuminate\\Filesystem\\": "" } @@ -1976,20 +2138,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-09-15T22:35:37+00:00" + "time": "2024-03-11T21:45:53+00:00" }, { "name": "illuminate/hashing", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/hashing.git", - "reference": "1f7b33e1f5968f82faed589402721e4791f4369b" + "reference": "7ab4eae83a55aaef1c2ba5c06ea5bfd46bee1286" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/hashing/zipball/1f7b33e1f5968f82faed589402721e4791f4369b", - "reference": "1f7b33e1f5968f82faed589402721e4791f4369b", + "url": "https://api.github.com/repos/illuminate/hashing/zipball/7ab4eae83a55aaef1c2ba5c06ea5bfd46bee1286", + "reference": "7ab4eae83a55aaef1c2ba5c06ea5bfd46bee1286", "shasum": "" }, "require": { @@ -2024,20 +2186,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-09-22T15:05:38+00:00" + "time": "2023-10-25T19:32:34+00:00" }, { "name": "illuminate/http", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/http.git", - "reference": "6e265c75e684222e2011d96d9af2010e6f975639" + "reference": "ff053b2a01e1f2cd3db2d1bdb8dd82eb34eecc69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/http/zipball/6e265c75e684222e2011d96d9af2010e6f975639", - "reference": "6e265c75e684222e2011d96d9af2010e6f975639", + "url": "https://api.github.com/repos/illuminate/http/zipball/ff053b2a01e1f2cd3db2d1bdb8dd82eb34eecc69", + "reference": "ff053b2a01e1f2cd3db2d1bdb8dd82eb34eecc69", "shasum": "" }, "require": { @@ -2049,7 +2211,7 @@ "illuminate/session": "^10.0", "illuminate/support": "^10.0", "php": "^8.1", - "symfony/http-foundation": "^6.2", + "symfony/http-foundation": "^6.4", "symfony/http-kernel": "^6.2", "symfony/mime": "^6.2" }, @@ -2084,20 +2246,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-09-19T15:24:21+00:00" + "time": "2024-07-03T21:19:27+00:00" }, { "name": "illuminate/log", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/log.git", - "reference": "9cff51ef5d0014e4ffe986359add45342adbf0a8" + "reference": "64bd048e4a793e4bfe2793be152c662f1c08634c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/log/zipball/9cff51ef5d0014e4ffe986359add45342adbf0a8", - "reference": "9cff51ef5d0014e4ffe986359add45342adbf0a8", + "url": "https://api.github.com/repos/illuminate/log/zipball/64bd048e4a793e4bfe2793be152c662f1c08634c", + "reference": "64bd048e4a793e4bfe2793be152c662f1c08634c", "shasum": "" }, "require": { @@ -2133,11 +2295,11 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-07-08T20:34:59+00:00" + "time": "2024-01-24T14:29:17+00:00" }, { "name": "illuminate/macroable", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/macroable.git", @@ -2182,17 +2344,78 @@ "time": "2023-06-05T12:46:42+00:00" }, { - "name": "illuminate/pagination", - "version": "v10.28.0", + "name": "illuminate/mail", + "version": "v10.48.16", "source": { "type": "git", - "url": "https://github.com/illuminate/pagination.git", - "reference": "2af69e712297cc38377593a72f00d430867e8bdc" + "url": "https://github.com/illuminate/mail.git", + "reference": "7f47374a79e04f923e1a5bb3e8874c164cc2922a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/pagination/zipball/2af69e712297cc38377593a72f00d430867e8bdc", - "reference": "2af69e712297cc38377593a72f00d430867e8bdc", + "url": "https://api.github.com/repos/illuminate/mail/zipball/7f47374a79e04f923e1a5bb3e8874c164cc2922a", + "reference": "7f47374a79e04f923e1a5bb3e8874c164cc2922a", + "shasum": "" + }, + "require": { + "illuminate/collections": "^10.0", + "illuminate/container": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "league/commonmark": "^2.2", + "php": "^8.1", + "psr/log": "^1.0|^2.0|^3.0", + "symfony/mailer": "^6.2", + "tijsverkoyen/css-to-inline-styles": "^2.2.5" + }, + "suggest": { + "aws/aws-sdk-php": "Required to use the SES mail driver (^3.235.5).", + "symfony/http-client": "Required to use the Symfony API mail transports (^6.2).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Mail\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Mail package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2024-06-03T07:26:07+00:00" + }, + { + "name": "illuminate/pagination", + "version": "v10.48.16", + "source": { + "type": "git", + "url": "https://github.com/illuminate/pagination.git", + "reference": "616874b9607ff35925347e1710a8b5151858cdf2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/pagination/zipball/616874b9607ff35925347e1710a8b5151858cdf2", + "reference": "616874b9607ff35925347e1710a8b5151858cdf2", "shasum": "" }, "require": { @@ -2229,20 +2452,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-04-17T16:01:53+00:00" + "time": "2024-04-11T14:31:05+00:00" }, { "name": "illuminate/pipeline", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/pipeline.git", - "reference": "f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1" + "reference": "f802187e917a171332cc90f8c1a102939c57405d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/pipeline/zipball/f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1", - "reference": "f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1", + "url": "https://api.github.com/repos/illuminate/pipeline/zipball/f802187e917a171332cc90f8c1a102939c57405d", + "reference": "f802187e917a171332cc90f8c1a102939c57405d", "shasum": "" }, "require": { @@ -2277,20 +2500,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-03-03T15:55:44+00:00" + "time": "2023-12-19T14:47:26+00:00" }, { "name": "illuminate/queue", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/queue.git", - "reference": "18627dd2d72a1101a1f188139aa02b90f7bed628" + "reference": "ee2446c88027cbe2a4d9f286ef66589fdf9f61ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/queue/zipball/18627dd2d72a1101a1f188139aa02b90f7bed628", - "reference": "18627dd2d72a1101a1f188139aa02b90f7bed628", + "url": "https://api.github.com/repos/illuminate/queue/zipball/ee2446c88027cbe2a4d9f286ef66589fdf9f61ed", + "reference": "ee2446c88027cbe2a4d9f286ef66589fdf9f61ed", "shasum": "" }, "require": { @@ -2344,20 +2567,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-10T12:54:38+00:00" + "time": "2024-03-11T21:46:09+00:00" }, { "name": "illuminate/session", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/session.git", - "reference": "46fa3baeccfa7ab6331d02c764c33f1f9b8134a4" + "reference": "a095707b83327e27ba292c9c4d2413888b1f517c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/session/zipball/46fa3baeccfa7ab6331d02c764c33f1f9b8134a4", - "reference": "46fa3baeccfa7ab6331d02c764c33f1f9b8134a4", + "url": "https://api.github.com/repos/illuminate/session/zipball/a095707b83327e27ba292c9c4d2413888b1f517c", + "reference": "a095707b83327e27ba292c9c4d2413888b1f517c", "shasum": "" }, "require": { @@ -2369,7 +2592,7 @@ "illuminate/support": "^10.0", "php": "^8.1", "symfony/finder": "^6.2", - "symfony/http-foundation": "^6.2" + "symfony/http-foundation": "^6.4" }, "suggest": { "illuminate/console": "Required to use the session:table command (^10.0)." @@ -2401,20 +2624,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-02T18:20:22+00:00" + "time": "2023-12-29T21:53:12+00:00" }, { "name": "illuminate/support", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "dd3b3275a9dbd30736363f232e6bc2970d7681e9" + "reference": "263f389d81488c237846b69469f91387ca2729f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/dd3b3275a9dbd30736363f232e6bc2970d7681e9", - "reference": "dd3b3275a9dbd30736363f232e6bc2970d7681e9", + "url": "https://api.github.com/repos/illuminate/support/zipball/263f389d81488c237846b69469f91387ca2729f3", + "reference": "263f389d81488c237846b69469f91387ca2729f3", "shasum": "" }, "require": { @@ -2472,20 +2695,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-06T13:41:04+00:00" + "time": "2024-05-16T21:33:51+00:00" }, { "name": "illuminate/testing", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/testing.git", - "reference": "380abd6b3e6953e8e91bbc1eb9c5445824ac0d96" + "reference": "ff641ff4813040c2a5abfcbe8e38590106608cd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/testing/zipball/380abd6b3e6953e8e91bbc1eb9c5445824ac0d96", - "reference": "380abd6b3e6953e8e91bbc1eb9c5445824ac0d96", + "url": "https://api.github.com/repos/illuminate/testing/zipball/ff641ff4813040c2a5abfcbe8e38590106608cd7", + "reference": "ff641ff4813040c2a5abfcbe8e38590106608cd7", "shasum": "" }, "require": { @@ -2531,20 +2754,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-08-30T16:14:34+00:00" + "time": "2024-04-22T13:20:30+00:00" }, { "name": "illuminate/translation", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/translation.git", - "reference": "242fb14ad898cd51a50a33956c249fe43548930f" + "reference": "4da8ed16d6ea6008acf43c7375a9b2073fb10e0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/translation/zipball/242fb14ad898cd51a50a33956c249fe43548930f", - "reference": "242fb14ad898cd51a50a33956c249fe43548930f", + "url": "https://api.github.com/repos/illuminate/translation/zipball/4da8ed16d6ea6008acf43c7375a9b2073fb10e0b", + "reference": "4da8ed16d6ea6008acf43c7375a9b2073fb10e0b", "shasum": "" }, "require": { @@ -2582,24 +2805,24 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-06-27T13:25:34+00:00" + "time": "2024-01-30T15:55:48+00:00" }, { "name": "illuminate/validation", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/validation.git", - "reference": "c40a641bfc0854326a1b9a758f4295cdeb823522" + "reference": "c9be8b183279f0175233e0758285a297431045ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/validation/zipball/c40a641bfc0854326a1b9a758f4295cdeb823522", - "reference": "c40a641bfc0854326a1b9a758f4295cdeb823522", + "url": "https://api.github.com/repos/illuminate/validation/zipball/c9be8b183279f0175233e0758285a297431045ac", + "reference": "c9be8b183279f0175233e0758285a297431045ac", "shasum": "" }, "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11", + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", "egulias/email-validator": "^3.2.5|^4.0", "ext-filter": "*", "ext-mbstring": "*", @@ -2610,7 +2833,7 @@ "illuminate/support": "^10.0", "illuminate/translation": "^10.0", "php": "^8.1", - "symfony/http-foundation": "^6.2", + "symfony/http-foundation": "^6.4", "symfony/mime": "^6.2" }, "suggest": { @@ -2643,20 +2866,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-10T12:56:32+00:00" + "time": "2024-03-08T02:31:57+00:00" }, { "name": "illuminate/view", - "version": "v10.28.0", + "version": "v10.48.16", "source": { "type": "git", "url": "https://github.com/illuminate/view.git", - "reference": "c1eacdb5255a0f332c1654e8758e13af6c6a4e0d" + "reference": "76a1405bc3e1d0a19e8d2db3bd5b991ed10b31f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/view/zipball/c1eacdb5255a0f332c1654e8758e13af6c6a4e0d", - "reference": "c1eacdb5255a0f332c1654e8758e13af6c6a4e0d", + "url": "https://api.github.com/repos/illuminate/view/zipball/76a1405bc3e1d0a19e8d2db3bd5b991ed10b31f7", + "reference": "76a1405bc3e1d0a19e8d2db3bd5b991ed10b31f7", "shasum": "" }, "require": { @@ -2697,20 +2920,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-05T13:03:55+00:00" + "time": "2024-05-21T17:37:01+00:00" }, { "name": "laravel/lumen-framework", - "version": "v10.0.1", + "version": "v10.0.3", "source": { "type": "git", "url": "https://github.com/laravel/lumen-framework.git", - "reference": "7d9f5c436969d33421a6a6c0b83809c4c6e41afe" + "reference": "ef69ade5f0131d2ae1f511b3c075eeff24fd8b15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/lumen-framework/zipball/7d9f5c436969d33421a6a6c0b83809c4c6e41afe", - "reference": "7d9f5c436969d33421a6a6c0b83809c4c6e41afe", + "url": "https://api.github.com/repos/laravel/lumen-framework/zipball/ef69ade5f0131d2ae1f511b3c075eeff24fd8b15", + "reference": "ef69ade5f0131d2ae1f511b3c075eeff24fd8b15", "shasum": "" }, "require": { @@ -2753,7 +2976,7 @@ }, "require-dev": { "mockery/mockery": "^1.4.4", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "10.5.3" }, "suggest": { "laravel/tinker": "Required to use the tinker console command (^2.7).", @@ -2795,27 +3018,27 @@ "issues": "https://github.com/laravel/lumen-framework/issues", "source": "https://github.com/laravel/lumen-framework" }, - "time": "2023-08-29T15:21:10+00:00" + "time": "2024-02-27T16:53:07+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.11", + "version": "v0.1.24", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "cce65a90e64712909ea1adc033e1d88de8455ffd" + "reference": "409b0b4305273472f3754826e68f4edbd0150149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/cce65a90e64712909ea1adc033e1d88de8455ffd", - "reference": "cce65a90e64712909ea1adc033e1d88de8455ffd", + "url": "https://api.github.com/repos/laravel/prompts/zipball/409b0b4305273472f3754826e68f4edbd0150149", + "reference": "409b0b4305273472f3754826e68f4edbd0150149", "shasum": "" }, "require": { "ext-mbstring": "*", "illuminate/collections": "^10.0|^11.0", "php": "^8.1", - "symfony/console": "^6.2" + "symfony/console": "^6.2|^7.0" }, "conflict": { "illuminate/console": ">=10.17.0 <10.25.0", @@ -2824,7 +3047,7 @@ "require-dev": { "mockery/mockery": "^1.5", "pestphp/pest": "^2.3", - "phpstan/phpstan": "^1.10", + "phpstan/phpstan": "^1.11", "phpstan/phpstan-mockery": "^1.1" }, "suggest": { @@ -2848,24 +3071,25 @@ "license": [ "MIT" ], + "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.1.11" + "source": "https://github.com/laravel/prompts/tree/v0.1.24" }, - "time": "2023-10-03T01:07:35+00:00" + "time": "2024-06-17T13:58:22+00:00" }, { "name": "laravel/serializable-closure", - "version": "v1.3.1", + "version": "v1.3.3", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902" + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/e5a3057a5591e1cfe8183034b0203921abe2c902", - "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", "shasum": "" }, "require": { @@ -2912,7 +3136,195 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2023-07-14T13:56:28+00:00" + "time": "2023-11-08T14:08:06+00:00" + }, + { + "name": "league/commonmark", + "version": "2.4.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.3", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0 || ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2024-02-02T11:59:32+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" }, { "name": "maennchen/zipstream-php", @@ -3104,16 +3516,16 @@ }, { "name": "monolog/monolog", - "version": "3.4.0", + "version": "3.7.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "e2392369686d420ca32df3803de28b5d6f76867d" + "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/e2392369686d420ca32df3803de28b5d6f76867d", - "reference": "e2392369686d420ca32df3803de28b5d6f76867d", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8", + "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8", "shasum": "" }, "require": { @@ -3136,7 +3548,7 @@ "phpstan/phpstan": "^1.9", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.1", + "phpunit/phpunit": "^10.5.17", "predis/predis": "^1.1 || ^2", "ruflin/elastica": "^7", "symfony/mailer": "^5.4 || ^6", @@ -3189,7 +3601,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.4.0" + "source": "https://github.com/Seldaek/monolog/tree/3.7.0" }, "funding": [ { @@ -3201,23 +3613,24 @@ "type": "tidelift" } ], - "time": "2023-06-21T08:46:11+00:00" + "time": "2024-06-28T09:40:51+00:00" }, { "name": "nesbot/carbon", - "version": "2.71.0", + "version": "2.72.5", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "98276233188583f2ff845a0f992a235472d9466a" + "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/98276233188583f2ff845a0f992a235472d9466a", - "reference": "98276233188583f2ff845a0f992a235472d9466a", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", + "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", "shasum": "" }, "require": { + "carbonphp/carbon-doctrine-types": "*", "ext-json": "*", "php": "^7.1.8 || ^8.0", "psr/clock": "^1.0", @@ -3229,8 +3642,8 @@ "psr/clock-implementation": "1.0" }, "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4", - "doctrine/orm": "^2.7", + "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", + "doctrine/orm": "^2.7 || ^3.0", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", "ondrejmirtes/better-reflection": "*", @@ -3247,8 +3660,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" + "dev-master": "3.x-dev", + "dev-2.x": "2.x-dev" }, "laravel": { "providers": [ @@ -3307,7 +3720,155 @@ "type": "tidelift" } ], - "time": "2023-09-25T11:31:05+00:00" + "time": "2024-06-03T19:18:41+00:00" + }, + { + "name": "nette/schema", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0", + "php": "8.1 - 8.3" + }, + "require-dev": { + "nette/tester": "^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.3.0" + }, + "time": "2023-12-11T11:54:22+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.4", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "shasum": "" + }, + "require": { + "php": ">=8.0 <8.4" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.4" + }, + "time": "2024-01-17T16:50:36+00:00" }, { "name": "nikic/fast-route", @@ -3361,21 +3922,21 @@ }, { "name": "nikic/php-parser", - "version": "v4.17.1", + "version": "v4.19.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" + "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b", + "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=7.0" + "php": ">=7.1" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", @@ -3411,9 +3972,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1" }, - "time": "2023-08-13T19:53:39+00:00" + "time": "2024-03-17T08:10:35+00:00" }, { "name": "nunomaduro/termwind", @@ -3507,7 +4068,7 @@ "source": { "type": "git", "url": "https://codeberg.org/albume/gitea-php", - "reference": "452f3ddfa1d7dfc2354698a487ce528de907e361" + "reference": "2d0f5d5e0d500cd1dbd5b497ab09fd0a9f8815bd" }, "require": { "php": "^7.4 || ^8.0", @@ -3556,20 +4117,20 @@ "MIT" ], "description": "An object oriented PHP wrapper for the Gitea API", - "time": "2023-10-11T08:56:47+00:00" + "time": "2023-11-18T19:17:39+00:00" }, { "name": "php-http/client-common", - "version": "2.7.0", + "version": "2.7.1", "source": { "type": "git", "url": "https://github.com/php-http/client-common.git", - "reference": "880509727a447474d2a71b7d7fa5d268ddd3db4b" + "reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/client-common/zipball/880509727a447474d2a71b7d7fa5d268ddd3db4b", - "reference": "880509727a447474d2a71b7d7fa5d268ddd3db4b", + "url": "https://api.github.com/repos/php-http/client-common/zipball/1e19c059b0e4d5f717bf5d524d616165aeab0612", + "reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612", "shasum": "" }, "require": { @@ -3579,7 +4140,7 @@ "psr/http-client": "^1.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0", + "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0", "symfony/polyfill-php80": "^1.17" }, "require-dev": { @@ -3623,22 +4184,22 @@ ], "support": { "issues": "https://github.com/php-http/client-common/issues", - "source": "https://github.com/php-http/client-common/tree/2.7.0" + "source": "https://github.com/php-http/client-common/tree/2.7.1" }, - "time": "2023-05-17T06:46:59+00:00" + "time": "2023-11-30T10:31:25+00:00" }, { "name": "php-http/discovery", - "version": "1.19.1", + "version": "1.19.4", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "57f3de01d32085fea20865f9b16fb0e69347c39e" + "reference": "0700efda8d7526335132360167315fdab3aeb599" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/57f3de01d32085fea20865f9b16fb0e69347c39e", - "reference": "57f3de01d32085fea20865f9b16fb0e69347c39e", + "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599", + "reference": "0700efda8d7526335132360167315fdab3aeb599", "shasum": "" }, "require": { @@ -3662,7 +4223,8 @@ "php-http/httplug": "^1.0 || ^2.0", "php-http/message-factory": "^1.0", "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "symfony/phpunit-bridge": "^6.2" + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" }, "type": "composer-plugin", "extra": { @@ -3701,9 +4263,9 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.19.1" + "source": "https://github.com/php-http/discovery/tree/1.19.4" }, - "time": "2023-07-11T07:02:26+00:00" + "time": "2024-03-29T13:00:05+00:00" }, { "name": "php-http/httplug", @@ -3764,16 +4326,16 @@ }, { "name": "php-http/message", - "version": "1.16.0", + "version": "1.16.1", "source": { "type": "git", "url": "https://github.com/php-http/message.git", - "reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd" + "reference": "5997f3289332c699fa2545c427826272498a2088" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/47a14338bf4ebd67d317bf1144253d7db4ab55fd", - "reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd", + "url": "https://api.github.com/repos/php-http/message/zipball/5997f3289332c699fa2545c427826272498a2088", + "reference": "5997f3289332c699fa2545c427826272498a2088", "shasum": "" }, "require": { @@ -3827,22 +4389,22 @@ ], "support": { "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.0" + "source": "https://github.com/php-http/message/tree/1.16.1" }, - "time": "2023-05-17T06:43:38+00:00" + "time": "2024-03-07T13:22:09+00:00" }, { "name": "php-http/multipart-stream-builder", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/php-http/multipart-stream-builder.git", - "reference": "f5938fd135d9fa442cc297dc98481805acfe2b6a" + "reference": "ed56da23b95949ae4747378bed8a5b61a2fdae24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/f5938fd135d9fa442cc297dc98481805acfe2b6a", - "reference": "f5938fd135d9fa442cc297dc98481805acfe2b6a", + "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/ed56da23b95949ae4747378bed8a5b61a2fdae24", + "reference": "ed56da23b95949ae4747378bed8a5b61a2fdae24", "shasum": "" }, "require": { @@ -3883,37 +4445,32 @@ ], "support": { "issues": "https://github.com/php-http/multipart-stream-builder/issues", - "source": "https://github.com/php-http/multipart-stream-builder/tree/1.3.0" + "source": "https://github.com/php-http/multipart-stream-builder/tree/1.3.1" }, - "time": "2023-04-28T14:10:22+00:00" + "time": "2024-06-10T14:51:55+00:00" }, { "name": "php-http/promise", - "version": "1.1.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/php-http/promise.git", - "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88" + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", - "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", + "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83", + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.3.2", - "phpspec/phpspec": "^5.1.2 || ^6.2" + "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3", + "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, "autoload": { "psr-4": { "Http\\Promise\\": "src/" @@ -3940,9 +4497,9 @@ ], "support": { "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.1.0" + "source": "https://github.com/php-http/promise/tree/1.3.1" }, - "time": "2020-07-07T09:29:14+00:00" + "time": "2024-03-15T13:55:21+00:00" }, { "name": "phpoffice/phpspreadsheet", @@ -4051,16 +4608,16 @@ }, { "name": "phpoption/phpoption", - "version": "1.9.1", + "version": "1.9.2", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e" + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dd3a383e599f49777d8b628dadbb90cae435b87e", - "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", "shasum": "" }, "require": { @@ -4068,7 +4625,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12" + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" }, "type": "library", "extra": { @@ -4110,7 +4667,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.1" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" }, "funding": [ { @@ -4122,7 +4679,7 @@ "type": "tidelift" } ], - "time": "2023-02-25T19:38:58+00:00" + "time": "2023-11-12T21:59:55+00:00" }, { "name": "psr/clock", @@ -4329,20 +4886,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -4366,7 +4923,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -4378,9 +4935,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -4538,25 +5095,25 @@ }, { "name": "psy/psysh", - "version": "v0.11.21", + "version": "v0.12.4", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "bcb22101107f3bf770523b65630c9d547f60c540" + "reference": "2fd717afa05341b4f8152547f142cd2f130f6818" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/bcb22101107f3bf770523b65630c9d547f60c540", - "reference": "bcb22101107f3bf770523b65630c9d547f60c540", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818", + "reference": "2fd717afa05341b4f8152547f142cd2f130f6818", "shasum": "" }, "require": { "ext-json": "*", "ext-tokenizer": "*", - "nikic/php-parser": "^4.0 || ^3.1", - "php": "^8.0 || ^7.0.8", - "symfony/console": "^6.0 || ^5.0 || ^4.0 || ^3.4", - "symfony/var-dumper": "^6.0 || ^5.0 || ^4.0 || ^3.4" + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" }, "conflict": { "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" @@ -4567,8 +5124,7 @@ "suggest": { "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." }, "bin": [ "bin/psysh" @@ -4576,7 +5132,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "0.11.x-dev" + "dev-main": "0.12.x-dev" }, "bamarni-bin": { "bin-links": false, @@ -4612,9 +5168,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.21" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.4" }, - "time": "2023-09-17T21:15:54+00:00" + "time": "2024-06-10T01:18:23+00:00" }, { "name": "ralouphie/getallheaders", @@ -4751,20 +5307,20 @@ }, { "name": "ramsey/uuid", - "version": "4.7.4", + "version": "4.7.6", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "60a4c63ab724854332900504274f6150ff26d286" + "reference": "91039bc1faa45ba123c4328958e620d382ec7088" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/60a4c63ab724854332900504274f6150ff26d286", - "reference": "60a4c63ab724854332900504274f6150ff26d286", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", + "reference": "91039bc1faa45ba123c4328958e620d382ec7088", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", "ext-json": "*", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" @@ -4827,7 +5383,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.4" + "source": "https://github.com/ramsey/uuid/tree/4.7.6" }, "funding": [ { @@ -4839,20 +5395,20 @@ "type": "tidelift" } ], - "time": "2023-04-15T23:01:58+00:00" + "time": "2024-04-27T21:32:50+00:00" }, { "name": "symfony/console", - "version": "v6.3.4", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6" + "reference": "6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6", + "url": "https://api.github.com/repos/symfony/console/zipball/6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9", + "reference": "6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9", "shasum": "" }, "require": { @@ -4860,7 +5416,7 @@ "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0" + "symfony/string": "^5.4|^6.0|^7.0" }, "conflict": { "symfony/dependency-injection": "<5.4", @@ -4874,12 +5430,16 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/lock": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -4913,7 +5473,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.3.4" + "source": "https://github.com/symfony/console/tree/v6.4.9" }, "funding": [ { @@ -4929,20 +5489,85 @@ "type": "tidelift" } ], - "time": "2023-08-16T10:10:12+00:00" + "time": "2024-06-28T09:49:33+00:00" }, { - "name": "symfony/deprecation-contracts", - "version": "v3.3.0", + "name": "symfony/css-selector", + "version": "v7.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "url": "https://github.com/symfony/css-selector.git", + "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4", + "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v7.1.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": "2024-05-31T14:57:53+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { @@ -4951,7 +5576,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -4980,7 +5605,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -4996,34 +5621,35 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/error-handler", - "version": "v6.3.5", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "1f69476b64fb47105c06beef757766c376b548c4" + "reference": "c9b7cc075b3ab484239855622ca05cb0b99c13ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/1f69476b64fb47105c06beef757766c376b548c4", - "reference": "1f69476b64fb47105c06beef757766c376b548c4", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c9b7cc075b3ab484239855622ca05cb0b99c13ec", + "reference": "c9b7cc075b3ab484239855622ca05cb0b99c13ec", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0" + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "conflict": { - "symfony/deprecation-contracts": "<2.5" + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" }, "require-dev": { "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0" + "symfony/http-kernel": "^6.4|^7.0", + "symfony/serializer": "^5.4|^6.0|^7.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -5054,7 +5680,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.3.5" + "source": "https://github.com/symfony/error-handler/tree/v6.4.9" }, "funding": [ { @@ -5070,28 +5696,28 @@ "type": "tidelift" } ], - "time": "2023-09-12T06:57:20+00:00" + "time": "2024-06-21T16:04:15+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.3.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e" + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e", - "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<5.4", + "symfony/dependency-injection": "<6.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -5100,13 +5726,13 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/error-handler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/error-handler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0" + "symfony/stopwatch": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -5134,7 +5760,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.2" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1" }, "funding": [ { @@ -5150,20 +5776,20 @@ "type": "tidelift" } ], - "time": "2023-07-06T06:56:43+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.3.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", "shasum": "" }, "require": { @@ -5173,7 +5799,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -5210,7 +5836,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" }, "funding": [ { @@ -5226,27 +5852,27 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/finder", - "version": "v6.3.5", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4" + "reference": "3ef977a43883215d560a2cecb82ec8e62131471c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4", - "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4", + "url": "https://api.github.com/repos/symfony/finder/zipball/3ef977a43883215d560a2cecb82ec8e62131471c", + "reference": "3ef977a43883215d560a2cecb82ec8e62131471c", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { - "symfony/filesystem": "^6.0" + "symfony/filesystem": "^6.0|^7.0" }, "type": "library", "autoload": { @@ -5274,7 +5900,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.5" + "source": "https://github.com/symfony/finder/tree/v6.4.8" }, "funding": [ { @@ -5290,20 +5916,20 @@ "type": "tidelift" } ], - "time": "2023-09-26T12:56:25+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.3.5", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "b50f5e281d722cb0f4c296f908bacc3e2b721957" + "reference": "27de8cc95e11db7a50b027e71caaab9024545947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b50f5e281d722cb0f4c296f908bacc3e2b721957", - "reference": "b50f5e281d722cb0f4c296f908bacc3e2b721957", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/27de8cc95e11db7a50b027e71caaab9024545947", + "reference": "27de8cc95e11db7a50b027e71caaab9024545947", "shasum": "" }, "require": { @@ -5313,17 +5939,17 @@ "symfony/polyfill-php83": "^1.27" }, "conflict": { - "symfony/cache": "<6.2" + "symfony/cache": "<6.3" }, "require-dev": { - "doctrine/dbal": "^2.13.1|^3.0", + "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", - "symfony/mime": "^5.4|^6.0", - "symfony/rate-limiter": "^5.2|^6.0" + "symfony/cache": "^6.3|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5351,7 +5977,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.3.5" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.8" }, "funding": [ { @@ -5367,29 +5993,29 @@ "type": "tidelift" } ], - "time": "2023-09-04T21:33:54+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.3.5", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "9f991a964368bee8d883e8d57ced4fe9fff04dfc" + "reference": "cc4a9bec6e1bdd2405f40277a68a6ed1bb393005" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9f991a964368bee8d883e8d57ced4fe9fff04dfc", - "reference": "9f991a964368bee8d883e8d57ced4fe9fff04dfc", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/cc4a9bec6e1bdd2405f40277a68a6ed1bb393005", + "reference": "cc4a9bec6e1bdd2405f40277a68a6ed1bb393005", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.3", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/http-foundation": "^6.3.4", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -5397,7 +6023,7 @@ "symfony/cache": "<5.4", "symfony/config": "<6.1", "symfony/console": "<5.4", - "symfony/dependency-injection": "<6.3.4", + "symfony/dependency-injection": "<6.4", "symfony/doctrine-bridge": "<5.4", "symfony/form": "<5.4", "symfony/http-client": "<5.4", @@ -5407,7 +6033,7 @@ "symfony/translation": "<5.4", "symfony/translation-contracts": "<2.5", "symfony/twig-bridge": "<5.4", - "symfony/validator": "<5.4", + "symfony/validator": "<6.4", "symfony/var-dumper": "<6.3", "twig/twig": "<2.13" }, @@ -5416,26 +6042,27 @@ }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0", - "symfony/clock": "^6.2", - "symfony/config": "^6.1", - "symfony/console": "^5.4|^6.0", - "symfony/css-selector": "^5.4|^6.0", - "symfony/dependency-injection": "^6.3.4", - "symfony/dom-crawler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^5.4|^6.0", - "symfony/property-access": "^5.4.5|^6.0.5", - "symfony/routing": "^5.4|^6.0", - "symfony/serializer": "^6.3", - "symfony/stopwatch": "^5.4|^6.0", - "symfony/translation": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0.5|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4.4|^7.0.4", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0", - "symfony/validator": "^6.3", - "symfony/var-exporter": "^6.2", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.4|^7.0", + "symfony/var-exporter": "^6.2|^7.0", "twig/twig": "^2.13|^3.0.4" }, "type": "library", @@ -5464,7 +6091,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.3.5" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.9" }, "funding": [ { @@ -5480,20 +6107,100 @@ "type": "tidelift" } ], - "time": "2023-09-30T06:37:04+00:00" + "time": "2024-06-28T11:48:06+00:00" }, { - "name": "symfony/mime", - "version": "v6.3.5", + "name": "symfony/mailer", + "version": "v6.4.9", "source": { "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "d5179eedf1cb2946dbd760475ebf05c251ef6a6e" + "url": "https://github.com/symfony/mailer.git", + "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/d5179eedf1cb2946dbd760475ebf05c251ef6a6e", - "reference": "d5179eedf1cb2946dbd760475ebf05c251ef6a6e", + "url": "https://api.github.com/repos/symfony/mailer/zipball/e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", + "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.1", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/mime": "^6.2|^7.0", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/messenger": "<6.2", + "symfony/mime": "<6.2", + "symfony/twig-bridge": "<6.2.1" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/messenger": "^6.2|^7.0", + "symfony/twig-bridge": "^6.2|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v6.4.9" + }, + "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": "2024-06-28T07:59:05+00:00" + }, + { + "name": "symfony/mime", + "version": "v6.4.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "7d048964877324debdcb4e0549becfa064a20d43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/7d048964877324debdcb4e0549becfa064a20d43", + "reference": "7d048964877324debdcb4e0549becfa064a20d43", "shasum": "" }, "require": { @@ -5507,16 +6214,17 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<5.4", - "symfony/serializer": "<6.2.13|>=6.3,<6.3.2" + "symfony/serializer": "<6.4.3|>7.0,<7.0.3" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/property-access": "^5.4|^6.0", - "symfony/property-info": "^5.4|^6.0", - "symfony/serializer": "~6.2.13|^6.3.2" + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.4|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.4.3|^7.0.3" }, "type": "library", "autoload": { @@ -5548,7 +6256,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.3.5" + "source": "https://github.com/symfony/mime/tree/v6.4.9" }, "funding": [ { @@ -5564,24 +6272,24 @@ "type": "tidelift" } ], - "time": "2023-09-29T06:59:36+00:00" + "time": "2024-06-28T09:49:33+00:00" }, { "name": "symfony/options-resolver", - "version": "v6.3.0", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd" + "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a10f19f5198d589d5c33333cffe98dc9820332dd", - "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/47aa818121ed3950acd2b58d1d37d08a94f9bf55", + "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", @@ -5615,7 +6323,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.3.0" + "source": "https://github.com/symfony/options-resolver/tree/v7.1.1" }, "funding": [ { @@ -5631,20 +6339,20 @@ "type": "tidelift" } ], - "time": "2023-05-12T14:21:09+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "0424dff1c58f028c451efff2045f5d92410bd540" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", + "reference": "0424dff1c58f028c451efff2045f5d92410bd540", "shasum": "" }, "require": { @@ -5658,9 +6366,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -5697,7 +6402,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" }, "funding": [ { @@ -5713,20 +6418,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.28.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", "shasum": "" }, "require": { @@ -5737,9 +6442,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -5778,7 +6480,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" }, "funding": [ { @@ -5794,20 +6496,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.28.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" + "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", "shasum": "" }, "require": { @@ -5820,9 +6522,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -5865,7 +6564,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" }, "funding": [ { @@ -5881,20 +6580,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:30:37+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", "shasum": "" }, "require": { @@ -5905,9 +6604,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -5949,7 +6645,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" }, "funding": [ { @@ -5965,20 +6661,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", "shasum": "" }, "require": { @@ -5992,9 +6688,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -6032,7 +6725,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" }, "funding": [ { @@ -6048,20 +6741,20 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.28.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" + "reference": "10112722600777e02d2745716b70c5db4ca70442" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442", + "reference": "10112722600777e02d2745716b70c5db4ca70442", "shasum": "" }, "require": { @@ -6069,9 +6762,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -6108,7 +6798,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" }, "funding": [ { @@ -6124,20 +6814,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.28.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", "shasum": "" }, "require": { @@ -6145,9 +6835,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -6191,7 +6878,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" }, "funding": [ { @@ -6207,31 +6894,27 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.28.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" + "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", + "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" + "php": ">=7.1" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -6271,7 +6954,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0" }, "funding": [ { @@ -6287,20 +6970,20 @@ "type": "tidelift" } ], - "time": "2023-08-16T06:22:46+00:00" + "time": "2024-06-19T12:35:24+00:00" }, { "name": "symfony/process", - "version": "v6.3.4", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54" + "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54", - "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54", + "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", + "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", "shasum": "" }, "require": { @@ -6332,7 +7015,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.3.4" + "source": "https://github.com/symfony/process/tree/v6.4.8" }, "funding": [ { @@ -6348,25 +7031,26 @@ "type": "tidelift" } ], - "time": "2023-08-07T10:39:22+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.3.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4" + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/40da9cc13ec349d9e4966ce18b5fbcd724ab10a4", - "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^2.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -6374,7 +7058,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -6414,7 +7098,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" }, "funding": [ { @@ -6430,24 +7114,24 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/string", - "version": "v6.3.5", + "version": "v7.1.2", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339" + "reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/13d76d0fb049051ed12a04bef4f9de8715bea339", - "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339", + "url": "https://api.github.com/repos/symfony/string/zipball/14221089ac66cf82e3cf3d1c1da65de305587ff8", + "reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", @@ -6457,11 +7141,12 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^5.4|^6.0", - "symfony/http-client": "^5.4|^6.0", - "symfony/intl": "^6.2", + "symfony/emoji": "^7.1", + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0" + "symfony/var-exporter": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -6500,7 +7185,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.5" + "source": "https://github.com/symfony/string/tree/v7.1.2" }, "funding": [ { @@ -6516,20 +7201,20 @@ "type": "tidelift" } ], - "time": "2023-09-18T10:38:32+00:00" + "time": "2024-06-28T09:27:18+00:00" }, { "name": "symfony/translation", - "version": "v6.3.3", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd" + "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd", - "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd", + "url": "https://api.github.com/repos/symfony/translation/zipball/a002933b13989fc4bd0b58e04bf7eec5210e438a", + "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a", "shasum": "" }, "require": { @@ -6552,19 +7237,19 @@ "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "nikic/php-parser": "^4.13", + "nikic/php-parser": "^4.18|^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/intl": "^5.4|^6.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^5.4|^6.0", + "symfony/routing": "^5.4|^6.0|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0" + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -6595,7 +7280,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.3.3" + "source": "https://github.com/symfony/translation/tree/v6.4.8" }, "funding": [ { @@ -6611,20 +7296,20 @@ "type": "tidelift" } ], - "time": "2023-07-31T07:08:24+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.3.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "02c24deb352fb0d79db5486c0c79905a85e37e86" + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/02c24deb352fb0d79db5486c0c79905a85e37e86", - "reference": "02c24deb352fb0d79db5486c0c79905a85e37e86", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", "shasum": "" }, "require": { @@ -6633,7 +7318,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -6673,7 +7358,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" }, "funding": [ { @@ -6689,20 +7374,20 @@ "type": "tidelift" } ], - "time": "2023-05-30T17:17:10+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.3.5", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "3d9999376be5fea8de47752837a3e1d1c5f69ef5" + "reference": "c31566e4ca944271cc8d8ac6887cbf31b8c6a172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3d9999376be5fea8de47752837a3e1d1c5f69ef5", - "reference": "3d9999376be5fea8de47752837a3e1d1c5f69ef5", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c31566e4ca944271cc8d8ac6887cbf31b8c6a172", + "reference": "c31566e4ca944271cc8d8ac6887cbf31b8c6a172", "shasum": "" }, "require": { @@ -6715,10 +7400,11 @@ }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/uid": "^5.4|^6.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.3|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", "twig/twig": "^2.13|^3.0.4" }, "bin": [ @@ -6757,7 +7443,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.3.5" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.9" }, "funding": [ { @@ -6773,35 +7459,88 @@ "type": "tidelift" } ], - "time": "2023-09-12T10:11:35+00:00" + "time": "2024-06-27T13:23:14+00:00" }, { - "name": "vlucas/phpdotenv", - "version": "v5.5.0", + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.2.7", "source": { "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7" + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7", - "reference": "1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + }, + "time": "2023-12-08T13:03:43+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", "shasum": "" }, "require": { "ext-pcre": "*", - "graham-campbell/result-type": "^1.0.2", - "php": "^7.1.3 || ^8.0", - "phpoption/phpoption": "^1.8", - "symfony/polyfill-ctype": "^1.23", - "symfony/polyfill-mbstring": "^1.23.1", - "symfony/polyfill-php80": "^1.23.1" + "graham-campbell/result-type": "^1.1.2", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", + "bamarni/composer-bin-plugin": "^1.8.2", "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.30 || ^9.5.25" + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" }, "suggest": { "ext-filter": "Required to use the boolean validator." @@ -6813,7 +7552,7 @@ "forward-command": true }, "branch-alias": { - "dev-master": "5.5-dev" + "dev-master": "5.6-dev" } }, "autoload": { @@ -6845,7 +7584,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.5.0" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" }, "funding": [ { @@ -6857,7 +7596,7 @@ "type": "tidelift" } ], - "time": "2022-10-16T01:01:54+00:00" + "time": "2023-11-12T22:43:29+00:00" }, { "name": "voku/portable-ascii", @@ -6995,16 +7734,16 @@ "packages-dev": [ { "name": "fakerphp/faker", - "version": "v1.23.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01" + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", - "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", "shasum": "" }, "require": { @@ -7030,11 +7769,6 @@ "ext-mbstring": "Required for multibyte Unicode string functionality." }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "v1.21-dev" - } - }, "autoload": { "psr-4": { "Faker\\": "src/Faker/" @@ -7057,9 +7791,9 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" }, - "time": "2023-06-12T08:44:38+00:00" + "time": "2024-01-02T13:46:09+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -7114,16 +7848,16 @@ }, { "name": "mockery/mockery", - "version": "1.6.6", + "version": "1.6.12", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e" + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/b8e0bb7d8c604046539c1115994632c74dcb361e", - "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", "shasum": "" }, "require": { @@ -7135,10 +7869,8 @@ "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.6.10", - "psalm/plugin-phpunit": "^0.18.4", - "symplify/easy-coding-standard": "^11.5.0", - "vimeo/psalm": "^4.30" + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" }, "type": "library", "autoload": { @@ -7195,20 +7927,20 @@ "security": "https://github.com/mockery/mockery/security/advisories", "source": "https://github.com/mockery/mockery" }, - "time": "2023-08-09T00:03:52+00:00" + "time": "2024-05-16T03:13:13+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.11.1", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", "shasum": "" }, "require": { @@ -7216,11 +7948,12 @@ }, "conflict": { "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" + "doctrine/common": "<2.13.3 || >=3 <3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", @@ -7246,7 +7979,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" }, "funding": [ { @@ -7254,24 +7987,25 @@ "type": "tidelift" } ], - "time": "2023-03-08T13:26:56+00:00" + "time": "2024-06-12T14:39:25+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -7312,9 +8046,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -7369,23 +8109,23 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.7", + "version": "10.1.15", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "355324ca4980b8916c18b9db29f3ef484078f26e" + "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/355324ca4980b8916c18b9db29f3ef484078f26e", - "reference": "355324ca4980b8916c18b9db29f3ef484078f26e", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae", + "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=8.1", "phpunit/php-file-iterator": "^4.0", "phpunit/php-text-template": "^3.0", @@ -7435,7 +8175,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.7" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.15" }, "funding": [ { @@ -7443,7 +8183,7 @@ "type": "github" } ], - "time": "2023-10-04T15:34:17+00:00" + "time": "2024-06-29T08:25:15+00:00" }, { "name": "phpunit/php-file-iterator", @@ -7690,16 +8430,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.4.1", + "version": "10.5.28", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "62bd7af13d282deeb95650077d28ba3600ca321c" + "reference": "ff7fb85cdf88131b83e721fb2a327b664dbed275" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/62bd7af13d282deeb95650077d28ba3600ca321c", - "reference": "62bd7af13d282deeb95650077d28ba3600ca321c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ff7fb85cdf88131b83e721fb2a327b664dbed275", + "reference": "ff7fb85cdf88131b83e721fb2a327b664dbed275", "shasum": "" }, "require": { @@ -7709,26 +8449,26 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", + "myclabs/deep-copy": "^1.12.0", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.5", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-invoker": "^4.0", - "phpunit/php-text-template": "^3.0", - "phpunit/php-timer": "^6.0", - "sebastian/cli-parser": "^2.0", - "sebastian/code-unit": "^2.0", - "sebastian/comparator": "^5.0", - "sebastian/diff": "^5.0", - "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.1", - "sebastian/global-state": "^6.0.1", - "sebastian/object-enumerator": "^5.0", - "sebastian/recursion-context": "^5.0", - "sebastian/type": "^4.0", - "sebastian/version": "^4.0" + "phpunit/php-code-coverage": "^10.1.15", + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-invoker": "^4.0.0", + "phpunit/php-text-template": "^3.0.1", + "phpunit/php-timer": "^6.0.0", + "sebastian/cli-parser": "^2.0.1", + "sebastian/code-unit": "^2.0.0", + "sebastian/comparator": "^5.0.1", + "sebastian/diff": "^5.1.1", + "sebastian/environment": "^6.1.0", + "sebastian/exporter": "^5.1.2", + "sebastian/global-state": "^6.0.2", + "sebastian/object-enumerator": "^5.0.0", + "sebastian/recursion-context": "^5.0.0", + "sebastian/type": "^4.0.0", + "sebastian/version": "^4.0.1" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -7739,7 +8479,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.4-dev" + "dev-main": "10.5-dev" } }, "autoload": { @@ -7771,7 +8511,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.4.1" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.28" }, "funding": [ { @@ -7787,20 +8527,20 @@ "type": "tidelift" } ], - "time": "2023-10-08T05:01:11+00:00" + "time": "2024-07-18T14:54:16+00:00" }, { "name": "sebastian/cli-parser", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", "shasum": "" }, "require": { @@ -7835,7 +8575,8 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" }, "funding": [ { @@ -7843,7 +8584,7 @@ "type": "github" } ], - "time": "2023-02-03T06:58:15+00:00" + "time": "2024-03-02T07:12:49+00:00" }, { "name": "sebastian/code-unit", @@ -8035,20 +8776,20 @@ }, { "name": "sebastian/complexity", - "version": "3.1.0", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68cfb347a44871f01e33ab0ef8215966432f6957" + "reference": "68ff824baeae169ec9f2137158ee529584553799" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957", - "reference": "68cfb347a44871f01e33ab0ef8215966432f6957", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", + "reference": "68ff824baeae169ec9f2137158ee529584553799", "shasum": "" }, "require": { - "nikic/php-parser": "^4.10", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=8.1" }, "require-dev": { @@ -8057,7 +8798,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.1-dev" + "dev-main": "3.2-dev" } }, "autoload": { @@ -8081,7 +8822,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0" + "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" }, "funding": [ { @@ -8089,20 +8830,20 @@ "type": "github" } ], - "time": "2023-09-28T11:50:59+00:00" + "time": "2023-12-21T08:37:17+00:00" }, { "name": "sebastian/diff", - "version": "5.0.3", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b" + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b", - "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", "shasum": "" }, "require": { @@ -8110,12 +8851,12 @@ }, "require-dev": { "phpunit/phpunit": "^10.0", - "symfony/process": "^4.2 || ^5" + "symfony/process": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -8148,7 +8889,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3" + "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" }, "funding": [ { @@ -8156,20 +8897,20 @@ "type": "github" } ], - "time": "2023-05-01T07:48:21+00:00" + "time": "2024-03-02T07:15:17+00:00" }, { "name": "sebastian/environment", - "version": "6.0.1", + "version": "6.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", "shasum": "" }, "require": { @@ -8184,7 +8925,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "6.1-dev" } }, "autoload": { @@ -8212,7 +8953,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" }, "funding": [ { @@ -8220,20 +8961,20 @@ "type": "github" } ], - "time": "2023-04-11T05:39:26+00:00" + "time": "2024-03-23T08:47:14+00:00" }, { "name": "sebastian/exporter", - "version": "5.1.1", + "version": "5.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" + "reference": "955288482d97c19a372d3f31006ab3f37da47adf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", + "reference": "955288482d97c19a372d3f31006ab3f37da47adf", "shasum": "" }, "require": { @@ -8290,7 +9031,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" }, "funding": [ { @@ -8298,20 +9039,20 @@ "type": "github" } ], - "time": "2023-09-24T13:22:09+00:00" + "time": "2024-03-02T07:17:12+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.1", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", "shasum": "" }, "require": { @@ -8345,14 +9086,14 @@ } ], "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" }, "funding": [ { @@ -8360,24 +9101,24 @@ "type": "github" } ], - "time": "2023-07-19T07:19:23+00:00" + "time": "2024-03-02T07:19:19+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d" + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d", - "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.10", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=8.1" }, "require-dev": { @@ -8410,7 +9151,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" }, "funding": [ { @@ -8418,7 +9159,7 @@ "type": "github" } ], - "time": "2023-08-31T09:25:50+00:00" + "time": "2023-12-21T08:38:20+00:00" }, { "name": "sebastian/object-enumerator", @@ -8706,16 +9447,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.1", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -8744,7 +9485,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -8752,7 +9493,7 @@ "type": "github" } ], - "time": "2021-07-28T10:34:58+00:00" + "time": "2024-03-03T12:36:25+00:00" } ], "aliases": [ diff --git a/config/mail.php b/config/mail.php new file mode 100644 index 0000000..a4a02fe --- /dev/null +++ b/config/mail.php @@ -0,0 +1,103 @@ + env('MAIL_MAILER', 'log'), + + /* + |-------------------------------------------------------------------------- + | Mailer Configurations + |-------------------------------------------------------------------------- + | + | Here you may configure all of the mailers used by your application plus + | their respective settings. Several examples have been configured for + | you and you are free to add your own as your application requires. + | + | Laravel supports a variety of mail "transport" drivers that can be used + | when delivering an email. You may specify which one you're using for + | your mailers below. You may also add additional mailers if needed. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", + | "postmark", "log", "array", "failover", "roundrobin" + | + */ + + 'mailers' => [ + + 'smtp' => [ + 'transport' => 'smtp', + 'url' => env('MAIL_URL'), + 'host' => env('MAIL_HOST', '127.0.0.1'), + 'port' => env('MAIL_PORT', 2525), + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'timeout' => null, + 'local_domain' => env('MAIL_EHLO_DOMAIN'), + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'postmark' => [ + 'transport' => 'postmark', + // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'), + // 'client' => [ + // 'timeout' => 5, + // ], + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + + 'failover' => [ + 'transport' => 'failover', + 'mailers' => [ + 'smtp', + 'log', + ], + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all emails sent by your application to be sent from + | the same address. Here you may specify a name and address that is + | used globally for all emails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + +]; diff --git a/resources/views/login.blade.php b/resources/views/login.blade.php index 80d3930..70153e4 100644 --- a/resources/views/login.blade.php +++ b/resources/views/login.blade.php @@ -3,7 +3,7 @@ @section('title', 'Login') @section('content') -
+