From e681cd7ce292143db38d89c5511820853fc7df02 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Tue, 10 Dec 2024 16:15:49 +0100
Subject: [PATCH 01/25] Update version.json to 4.8.4
---
version.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/version.json b/version.json
index f99c6583c..57c4b30bb 100644
--- a/version.json
+++ b/version.json
@@ -1 +1 @@
-4.8.3
+4.8.4
From 51917e7685d989acb0616aa52221e08d90821ace Mon Sep 17 00:00:00 2001
From: Frank
Date: Thu, 6 Feb 2025 15:15:42 +0100
Subject: [PATCH 02/25] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 46a3012bd..837239344 100644
--- a/README.md
+++ b/README.md
@@ -169,7 +169,7 @@ The official docker version of [LinkStack](https://github.com/linkstackorg/links
The docker version of LinkStack retains all the features and customization options of the [original version](https://github.com/linkstackorg/linkstack).
-This docker is based on [Alpine Linux](https://www.alpinelinux.org), a Linux distribution designed to be small, simple and secure. The web server is running [Apache2](https://www.apache.org), a free and open-source cross-platform web server software. The docker comes with [PHP 8.0](https://www.php.net/releases/8.0/en.php) for high compatibility and performance.
+This docker is based on [Alpine Linux](https://www.alpinelinux.org), a Linux distribution designed to be small, simple and secure. The web server is running [Apache2](https://www.apache.org), a free and open-source cross-platform web server software. The docker comes with [PHP 8.2](https://www.php.net/releases/8.2/en.php) for high compatibility and performance.
#### Using the docker is as simple as pulling and deploying.
From 6489a95b75c57f3d5cb6065be8bc715585e5b525 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Tue, 3 Jun 2025 12:49:18 +0200
Subject: [PATCH 03/25] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 837239344..ee8813ab7 100644
--- a/README.md
+++ b/README.md
@@ -37,7 +37,7 @@
-
+
---
From 3678fa0002776649ef619c84e053cf5973692a56 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Wed, 3 Dec 2025 20:46:11 +0100
Subject: [PATCH 04/25] Update image links in README.md
---
README.md | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/README.md b/README.md
index ee8813ab7..e6e5c08c6 100644
--- a/README.md
+++ b/README.md
@@ -30,14 +30,14 @@
-
-
-
+
+
+
-
-
-
+
+
+
---
@@ -45,7 +45,7 @@
-
+
---
@@ -221,7 +221,7 @@ The updater may fail without throwing an error and just remain on the current ve
## License
-[](https://www.gnu.org/licenses/agpl-3.0)
+[](https://www.gnu.org/licenses/agpl-3.0)
As of version 4.0.0, the license for this project has been updated to the GNU Affero General Public License v3.0, which explicitly requires that any modifications made to the project must be made public. This license also requires that a copyright notice and license notice be included in any copies or derivative works of the project.
From 93c6a6367827c7a9b1fdf433cc7f4697a9425b88 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Tue, 16 Dec 2025 18:52:07 +0100
Subject: [PATCH 05/25] Cache user image path
---
app/Functions/functions.php | 92 +++++++++++++++++++++++++++++++------
1 file changed, 77 insertions(+), 15 deletions(-)
diff --git a/app/Functions/functions.php b/app/Functions/functions.php
index 6e6350fd8..eacfe19e1 100644
--- a/app/Functions/functions.php
+++ b/app/Functions/functions.php
@@ -1,48 +1,110 @@
$fingerprint,
+ 'files' => $files
+ ];
+ if (class_exists('Redis')) {
+ try {
+ Redis::setex($cacheKey, $ttl, json_encode($data));
+ } catch (\Exception $e) {
+ // fallback silently
+ }
+ } else {
+ // Laravel cache fallback
+ Cache::put($cacheKey, $data, $ttl);
+ }
+
+ $memoryCache[$directory] = $files;
+
+ return $files;
+ }
+}
+
function findFile($name)
{
$directory = base_path("/assets/linkstack/images/");
- $files = scandir($directory);
- $pathinfo = "error.error";
+ $files = preloadDirectoryFiles($directory, 'linkstack_images_files');
+
$pattern = '/^' . preg_quote($name, '/') . '(_\w+)?\.\w+$/i';
foreach ($files as $file) {
if (preg_match($pattern, $file)) {
- $pathinfo = $file;
- break;
+ return $file;
}
}
- return $pathinfo;
+ return "error.error";
}
function findAvatar($name)
{
$directory = base_path("assets/img");
- $files = scandir($directory);
- $pathinfo = "error.error";
+ $files = preloadDirectoryFiles($directory, 'assets_img_files');
+
$pattern = '/^' . preg_quote($name, '/') . '(_\w+)?\.\w+$/i';
foreach ($files as $file) {
if (preg_match($pattern, $file)) {
- $pathinfo = "assets/img/" . $file;
- break;
+ return "assets/img/" . $file;
}
}
- return $pathinfo;
+ return "error.error";
}
function findBackground($name)
{
$directory = base_path("assets/img/background-img/");
- $files = scandir($directory);
- $pathinfo = "error.error";
+ $files = preloadDirectoryFiles($directory, 'assets_img_background_files');
+
$pattern = '/^' . preg_quote($name, '/') . '(_\w+)?\.\w+$/i';
foreach ($files as $file) {
if (preg_match($pattern, $file)) {
- $pathinfo = $file;
- break;
+ return $file;
}
}
- return $pathinfo;
+ return "error.error";
}
function analyzeImageBrightness($file) {
From 604653f7dfeb55eca26697ad96f0d85fa360b2a2 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Mon, 26 Jan 2026 18:48:29 +0100
Subject: [PATCH 06/25] Update Dependencies (#958)
* Refactor
* dependencies
* Exclude dev dependencies
---
.github/workflows/release.yml | 2 +-
app/Http/Controllers/AdminController.php | 1554 +++++-----
composer.lock | 2565 +++++++----------
.../views/components/config/backups.blade.php | 167 +-
resources/views/panel/backups.blade.php | 64 +-
5 files changed, 2117 insertions(+), 2235 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 9da321487..29946b6c5 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -52,7 +52,7 @@ jobs:
cp "../../version.json" "version.json"
- composer update --no-scripts
+ composer update --no-dev --no-scripts
php artisan lang:update
diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php
index 1e356b25e..8dc6874d9 100755
--- a/app/Http/Controllers/AdminController.php
+++ b/app/Http/Controllers/AdminController.php
@@ -31,737 +31,939 @@
class AdminController extends Controller
{
- //Statistics of the number of clicks and links
- public function index()
- {
- $userId = Auth::user()->id;
- $littlelink_name = Auth::user()->littlelink_name;
- $links = Link::where('user_id', $userId)->select('link')->count();
- $clicks = Link::where('user_id', $userId)->sum('click_number');
-
- $userNumber = User::count();
- $siteLinks = Link::count();
- $siteClicks = Link::sum('click_number');
-
- $users = User::select('id', 'name', 'email', 'created_at', 'updated_at')->get();
- $lastMonthCount = $users->where('created_at', '>=', Carbon::now()->subDays(30))->count();
- $lastWeekCount = $users->where('created_at', '>=', Carbon::now()->subDays(7))->count();
- $last24HrsCount = $users->where('created_at', '>=', Carbon::now()->subHours(24))->count();
- $updatedLast30DaysCount = $users->where('updated_at', '>=', Carbon::now()->subDays(30))->count();
- $updatedLast7DaysCount = $users->where('updated_at', '>=', Carbon::now()->subDays(7))->count();
- $updatedLast24HrsCount = $users->where('updated_at', '>=', Carbon::now()->subHours(24))->count();
-
- $links = Link::where('user_id', $userId)->select('link')->count();
- $clicks = Link::where('user_id', $userId)->sum('click_number');
- $topLinks = Link::where('user_id', $userId)->orderby('click_number', 'desc')
- ->whereNotNull('link')->where('link', '<>', '')
- ->take(5)->get();
-
- $pageStats = [
- 'visitors' => [
- 'all' => visits('App\Models\User', $littlelink_name)->count(),
- 'day' => visits('App\Models\User', $littlelink_name)->period('day')->count(),
- 'week' => visits('App\Models\User', $littlelink_name)->period('week')->count(),
- 'month' => visits('App\Models\User', $littlelink_name)->period('month')->count(),
- 'year' => visits('App\Models\User', $littlelink_name)->period('year')->count(),
- ],
- 'os' => visits('App\Models\User', $littlelink_name)->operatingSystems(),
- 'referers' => visits('App\Models\User', $littlelink_name)->refs(),
- 'countries' => visits('App\Models\User', $littlelink_name)->countries(),
- ];
-
- return view('panel/index', ['lastMonthCount' => $lastMonthCount,'lastWeekCount' => $lastWeekCount,'last24HrsCount' => $last24HrsCount,'updatedLast30DaysCount' => $updatedLast30DaysCount,'updatedLast7DaysCount' => $updatedLast7DaysCount,'updatedLast24HrsCount' => $updatedLast24HrsCount,'toplinks' => $topLinks, 'links' => $links, 'clicks' => $clicks, 'pageStats' => $pageStats, 'littlelink_name' => $littlelink_name, 'links' => $links, 'clicks' => $clicks, 'siteLinks' => $siteLinks, 'siteClicks' => $siteClicks, 'userNumber' => $userNumber]);
- }
-
-// Users page
-public function users()
-{
- return view('panel/users');
-}
-
-// Send test mail
-public function SendTestMail(Request $request)
-{
+ //Statistics of the number of clicks and links
+ public function index()
+ {
+ $userId = Auth::user()->id;
+ $littlelink_name = Auth::user()->littlelink_name;
+ $links = Link::where("user_id", $userId)->select("link")->count();
+ $clicks = Link::where("user_id", $userId)->sum("click_number");
+
+ $userNumber = User::count();
+ $siteLinks = Link::count();
+ $siteClicks = Link::sum("click_number");
+
+ $users = User::select(
+ "id",
+ "name",
+ "email",
+ "created_at",
+ "updated_at",
+ )->get();
+ $lastMonthCount = $users
+ ->where("created_at", ">=", Carbon::now()->subDays(30))
+ ->count();
+ $lastWeekCount = $users
+ ->where("created_at", ">=", Carbon::now()->subDays(7))
+ ->count();
+ $last24HrsCount = $users
+ ->where("created_at", ">=", Carbon::now()->subHours(24))
+ ->count();
+ $updatedLast30DaysCount = $users
+ ->where("updated_at", ">=", Carbon::now()->subDays(30))
+ ->count();
+ $updatedLast7DaysCount = $users
+ ->where("updated_at", ">=", Carbon::now()->subDays(7))
+ ->count();
+ $updatedLast24HrsCount = $users
+ ->where("updated_at", ">=", Carbon::now()->subHours(24))
+ ->count();
+
+ $links = Link::where("user_id", $userId)->select("link")->count();
+ $clicks = Link::where("user_id", $userId)->sum("click_number");
+ $topLinks = Link::where("user_id", $userId)
+ ->orderby("click_number", "desc")
+ ->whereNotNull("link")
+ ->where("link", "<>", "")
+ ->take(5)
+ ->get();
+
+ $pageStats = [
+ "visitors" => [
+ "all" => visits("App\Models\User", $littlelink_name)->count(),
+ "day" => visits("App\Models\User", $littlelink_name)
+ ->period("day")
+ ->count(),
+ "week" => visits("App\Models\User", $littlelink_name)
+ ->period("week")
+ ->count(),
+ "month" => visits("App\Models\User", $littlelink_name)
+ ->period("month")
+ ->count(),
+ "year" => visits("App\Models\User", $littlelink_name)
+ ->period("year")
+ ->count(),
+ ],
+ "os" => visits("App\Models\User", $littlelink_name)->operatingSystems(),
+ "referers" => visits("App\Models\User", $littlelink_name)->refs(),
+ "countries" => visits("App\Models\User", $littlelink_name)->countries(),
+ ];
+
+ return view("panel/index", [
+ "lastMonthCount" => $lastMonthCount,
+ "lastWeekCount" => $lastWeekCount,
+ "last24HrsCount" => $last24HrsCount,
+ "updatedLast30DaysCount" => $updatedLast30DaysCount,
+ "updatedLast7DaysCount" => $updatedLast7DaysCount,
+ "updatedLast24HrsCount" => $updatedLast24HrsCount,
+ "toplinks" => $topLinks,
+ "links" => $links,
+ "clicks" => $clicks,
+ "pageStats" => $pageStats,
+ "littlelink_name" => $littlelink_name,
+ "links" => $links,
+ "clicks" => $clicks,
+ "siteLinks" => $siteLinks,
+ "siteClicks" => $siteClicks,
+ "userNumber" => $userNumber,
+ ]);
+ }
+
+ // Users page
+ public function users()
+ {
+ return view("panel/users");
+ }
+
+ // Send test mail
+ public function SendTestMail(Request $request)
+ {
try {
- $userId = auth()->id();
- $user = User::findOrFail($userId);
-
- Mail::send('auth.test', ['user' => $user], function ($message) use ($user) {
- $message->to($user->email)
- ->subject('Test Email');
- });
-
- return redirect()->route('showConfig')->with('success', 'Test email sent successfully!');
+ $userId = auth()->id();
+ $user = User::findOrFail($userId);
+
+ Mail::send("auth.test", ["user" => $user], function ($message) use (
+ $user,
+ ) {
+ $message->to($user->email)->subject("Test Email");
+ });
+
+ return redirect()
+ ->route("showConfig")
+ ->with("success", "Test email sent successfully!");
} catch (\Exception $e) {
- return redirect()->route('showConfig')->with('fail', 'Failed to send test email.');
- }
-}
-
- //Block user
- public function blockUser(request $request)
- {
- $id = $request->id;
- $status = $request->block;
-
- if ($status == 'yes') {
- $block = 'no';
- } elseif ($status == 'no') {
- $block = 'yes';
- }
-
- User::where('id', $id)->update(['block' => $block]);
-
- return redirect('admin/users/all');
- }
-
- //Verify user
- public function verifyCheckUser(request $request)
- {
- $id = $request->id;
- $status = $request->verify;
-
- if ($status == 'vip') {
- $verify = 'vip';
- UserData::saveData($id, 'checkmark', true);
- } elseif ($status == 'user') {
- $verify = 'user';
- }
-
- User::where('id', $id)->update(['role' => $verify]);
-
- return redirect(url('u')."/".$id);
- }
+ return redirect()
+ ->route("showConfig")
+ ->with("fail", "Failed to send test email.");
+ }
+ }
- //Verify or un-verify users emails
- public function verifyUser(request $request)
- {
- $id = $request->id;
- $status = $request->verify;
-
- if ($status == "true") {
- $verify = '0000-00-00 00:00:00';
- } else {
- $verify = NULL;
- }
+ //Block user
+ public function blockUser(request $request)
+ {
+ $id = $request->id;
+ $status = $request->block;
- User::where('id', $id)->update(['email_verified_at' => $verify]);
+ if ($status == "yes") {
+ $block = "no";
+ } elseif ($status == "no") {
+ $block = "yes";
}
- //Create new user from the Admin Panel
- public function createNewUser()
- {
-
- function random_str(
- int $length = 64,
- string $keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
- ): string {
- if ($length < 1) {
- throw new \RangeException("Length must be a positive integer");
- }
- $pieces = [];
- $max = mb_strlen($keyspace, '8bit') - 1;
- for ($i = 0; $i < $length; ++$i) {
- $pieces[] = $keyspace[random_int(0, $max)];
- }
- return implode('', $pieces);
- }
-
- $names = User::pluck('name')->toArray();
-
- $adminCreatedNames = array_filter($names, function($name) {
- return strpos($name, 'Admin-Created-') === 0;
- });
-
- $numbers = array_map(function($name) {
- return (int) str_replace('Admin-Created-', '', $name);
- }, $adminCreatedNames);
+ User::where("id", $id)->update(["block" => $block]);
- $maxNumber = !empty($numbers) ? max($numbers) : 0;
- $newNumber = $maxNumber + 1;
+ return redirect("admin/users/all");
+ }
- $domain = parse_url(url(''), PHP_URL_HOST);
- $domain = ($domain == 'localhost') ? 'example.com' : $domain;
+ //Verify user
+ public function verifyCheckUser(request $request)
+ {
+ $id = $request->id;
+ $status = $request->verify;
- $user = User::create([
- 'name' => 'Admin-Created-' . $newNumber,
- 'email' => strtolower(random_str(8)) . '@' . $domain,
- 'password' => Hash::make(random_str(32)),
- 'role' => 'user',
- 'block' => 'no',
- ]);
-
- return redirect('admin/edit-user/' . $user->id);
+ if ($status == "vip") {
+ $verify = "vip";
+ UserData::saveData($id, "checkmark", true);
+ } elseif ($status == "user") {
+ $verify = "user";
}
- //Delete existing user
- public function deleteUser(request $request)
- {
- $id = $request->id;
-
- Link::where('user_id', $id)->delete();
-
- Schema::disableForeignKeyConstraints();
-
- $user = User::find($id);
- $user->forceDelete();
-
- Schema::enableForeignKeyConstraints();
-
- return redirect('admin/users/all');
- }
+ User::where("id", $id)->update(["role" => $verify]);
- //Delete existing user with POST request
- public function deleteTableUser(request $request)
- {
- $id = $request->id;
-
- Link::where('user_id', $id)->delete();
-
- Schema::disableForeignKeyConstraints();
-
- $user = User::find($id);
- $user->forceDelete();
-
- Schema::enableForeignKeyConstraints();
- }
+ return redirect(url("u") . "/" . $id);
+ }
- //Show user to edit
- public function showUser(request $request)
- {
- $id = $request->id;
+ //Verify or un-verify users emails
+ public function verifyUser(request $request)
+ {
+ $id = $request->id;
+ $status = $request->verify;
- $data['user'] = User::where('id', $id)->get();
-
- return view('panel/edit-user', $data);
+ if ($status == "true") {
+ $verify = "0000-00-00 00:00:00";
+ } else {
+ $verify = null;
}
- //Show link, click number, up link in links page
- public function showLinksUser(request $request)
- {
- $id = $request->id;
-
- $data['user'] = User::where('id', $id)->get();
+ User::where("id", $id)->update(["email_verified_at" => $verify]);
+ }
- $data['links'] = Link::select('id', 'link', 'title', 'order', 'click_number', 'up_link', 'links.button_id')->where('user_id', $id)->orderBy('up_link', 'asc')->orderBy('order', 'asc')->paginate(10);
- return view('panel/links', $data);
+ //Create new user from the Admin Panel
+ public function createNewUser()
+ {
+ function random_str(
+ int $length = 64,
+ string $keyspace = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
+ ): string {
+ if ($length < 1) {
+ throw new \RangeException("Length must be a positive integer");
+ }
+ $pieces = [];
+ $max = mb_strlen($keyspace, "8bit") - 1;
+ for ($i = 0; $i < $length; ++$i) {
+ $pieces[] = $keyspace[random_int(0, $max)];
+ }
+ return implode("", $pieces);
}
- //Delete link
- public function deleteLinkUser(request $request)
- {
- $linkId = $request->id;
+ $names = User::pluck("name")->toArray();
- Link::where('id', $linkId)->delete();
+ $adminCreatedNames = array_filter($names, function ($name) {
+ return strpos($name, "Admin-Created-") === 0;
+ });
- return back();
- }
+ $numbers = array_map(function ($name) {
+ return (int) str_replace("Admin-Created-", "", $name);
+ }, $adminCreatedNames);
+
+ $maxNumber = !empty($numbers) ? max($numbers) : 0;
+ $newNumber = $maxNumber + 1;
- //Save user edit
- public function editUser(request $request)
- {
- $request->validate([
- 'name' => '',
- 'email' => '',
- 'password' => '',
- 'littlelink_name' => '',
- ]);
-
- $id = $request->id;
- $name = $request->name;
- $email = $request->email;
- $password = Hash::make($request->password);
- $profilePhoto = $request->file('image');
- $littlelink_name = $request->littlelink_name;
- $littlelink_description = $request->littlelink_description;
- $role = $request->role;
- $customBackground = $request->file('background');
- $theme = $request->theme;
-
- if(User::where('id', $id)->get('role')->first()->role =! $role) {
- if ($role == 'vip') {
- UserData::saveData($id, 'checkmark', true);
- }
- }
-
- if ($request->password == '') {
- User::where('id', $id)->update(['name' => $name, 'email' => $email, 'littlelink_name' => $littlelink_name, 'littlelink_description' => $littlelink_description, 'role' => $role, 'theme' => $theme]);
- } else {
- User::where('id', $id)->update(['name' => $name, 'email' => $email, 'password' => $password, 'littlelink_name' => $littlelink_name, 'littlelink_description' => $littlelink_description, 'role' => $role, 'theme' => $theme]);
- }
- if (!empty($profilePhoto)) {
- $profilePhoto->move(base_path('assets/img'), $id . '_' . time() . ".png");
- }
- if (!empty($customBackground)) {
- $directory = base_path('assets/img/background-img/');
- $files = scandir($directory);
- $pathinfo = "error.error";
- foreach($files as $file) {
- if (strpos($file, $id.'.') !== false) {
- $pathinfo = $id. "." . pathinfo($file, PATHINFO_EXTENSION);
- }}
- if(file_exists(base_path('assets/img/background-img/').$pathinfo)){File::delete(base_path('assets/img/background-img/').$pathinfo);}
-
- $customBackground->move(base_path('assets/img/background-img/'), $id . '_' . time() . "." . $request->file('background')->extension());
- }
-
- return redirect('admin/users/all');
- }
-
- //Show site pages to edit
- public function showSitePage()
- {
- $data['pages'] = Page::select('terms', 'privacy', 'contact', 'register')->get();
- return view('panel/pages', $data);
- }
-
- //Save site pages
- public function editSitePage(request $request)
- {
- $terms = $request->terms;
- $privacy = $request->privacy;
- $contact = $request->contact;
- $register = $request->register;
-
- Page::first()->update(['terms' => $terms, 'privacy' => $privacy, 'contact' => $contact, 'register' => $register]);
-
- return back();
- }
-
- //Show home message for edit
- public function showSite()
- {
- $message = Page::select('home_message')->first();
- return view('panel/site', $message);
- }
-
- //Save home message, logo and favicon
- public function editSite(request $request)
- {
- $message = $request->message;
- $logo = $request->file('image');
- $icon = $request->file('icon');
-
- Page::first()->update(['home_message' => $message]);
-
- if (!empty($logo)) {
- // Delete existing image
- $path = findFile('avatar');
- $path = base_path('/assets/linkstack/images/'.$path);
-
- // Delete existing image
- if (File::exists($path)) {
- File::delete($path);
- }
-
- $logo->move(base_path('/assets/linkstack/images/'), "avatar" . '_' . time() . "." .$request->file('image')->extension());
+ $domain = parse_url(url(""), PHP_URL_HOST);
+ $domain = $domain == "localhost" ? "example.com" : $domain;
+
+ $user = User::create([
+ "name" => "Admin-Created-" . $newNumber,
+ "email" => strtolower(random_str(8)) . "@" . $domain,
+ "password" => Hash::make(random_str(32)),
+ "role" => "user",
+ "block" => "no",
+ ]);
+
+ return redirect("admin/edit-user/" . $user->id);
+ }
+
+ //Delete existing user
+ public function deleteUser(request $request)
+ {
+ $id = $request->id;
+
+ Link::where("user_id", $id)->delete();
+
+ Schema::disableForeignKeyConstraints();
+
+ $user = User::find($id);
+ $user->forceDelete();
+
+ Schema::enableForeignKeyConstraints();
+
+ return redirect("admin/users/all");
+ }
+
+ //Delete existing user with POST request
+ public function deleteTableUser(request $request)
+ {
+ $id = $request->id;
+
+ Link::where("user_id", $id)->delete();
+
+ Schema::disableForeignKeyConstraints();
+
+ $user = User::find($id);
+ $user->forceDelete();
+
+ Schema::enableForeignKeyConstraints();
+ }
+
+ //Show user to edit
+ public function showUser(request $request)
+ {
+ $id = $request->id;
+
+ $data["user"] = User::where("id", $id)->get();
+
+ return view("panel/edit-user", $data);
+ }
+
+ //Show link, click number, up link in links page
+ public function showLinksUser(request $request)
+ {
+ $id = $request->id;
+
+ $data["user"] = User::where("id", $id)->get();
+
+ $data["links"] = Link::select(
+ "id",
+ "link",
+ "title",
+ "order",
+ "click_number",
+ "up_link",
+ "links.button_id",
+ )
+ ->where("user_id", $id)
+ ->orderBy("up_link", "asc")
+ ->orderBy("order", "asc")
+ ->paginate(10);
+ return view("panel/links", $data);
+ }
+
+ //Delete link
+ public function deleteLinkUser(request $request)
+ {
+ $linkId = $request->id;
+
+ Link::where("id", $linkId)->delete();
+
+ return back();
+ }
+
+ //Save user edit
+ public function editUser(request $request)
+ {
+ $request->validate([
+ "name" => "",
+ "email" => "",
+ "password" => "",
+ "littlelink_name" => "",
+ ]);
+
+ $id = $request->id;
+ $name = $request->name;
+ $email = $request->email;
+ $password = Hash::make($request->password);
+ $profilePhoto = $request->file("image");
+ $littlelink_name = $request->littlelink_name;
+ $littlelink_description = $request->littlelink_description;
+ $role = $request->role;
+ $customBackground = $request->file("background");
+ $theme = $request->theme;
+
+ if (User::where("id", $id)->get("role")->first()->role = !$role) {
+ if ($role == "vip") {
+ UserData::saveData($id, "checkmark", true);
+ }
+ }
+
+ if ($request->password == "") {
+ User::where("id", $id)->update([
+ "name" => $name,
+ "email" => $email,
+ "littlelink_name" => $littlelink_name,
+ "littlelink_description" => $littlelink_description,
+ "role" => $role,
+ "theme" => $theme,
+ ]);
+ } else {
+ User::where("id", $id)->update([
+ "name" => $name,
+ "email" => $email,
+ "password" => $password,
+ "littlelink_name" => $littlelink_name,
+ "littlelink_description" => $littlelink_description,
+ "role" => $role,
+ "theme" => $theme,
+ ]);
+ }
+ if (!empty($profilePhoto)) {
+ $profilePhoto->move(base_path("assets/img"), $id . "_" . time() . ".png");
+ }
+ if (!empty($customBackground)) {
+ $directory = base_path("assets/img/background-img/");
+ $files = scandir($directory);
+ $pathinfo = "error.error";
+ foreach ($files as $file) {
+ if (strpos($file, $id . ".") !== false) {
+ $pathinfo = $id . "." . pathinfo($file, PATHINFO_EXTENSION);
}
+ }
+ if (file_exists(base_path("assets/img/background-img/") . $pathinfo)) {
+ File::delete(base_path("assets/img/background-img/") . $pathinfo);
+ }
+
+ $customBackground->move(
+ base_path("assets/img/background-img/"),
+ $id . "_" . time() . "." . $request->file("background")->extension(),
+ );
+ }
+
+ return redirect("admin/users/all");
+ }
+
+ //Show site pages to edit
+ public function showSitePage()
+ {
+ $data["pages"] = Page::select(
+ "terms",
+ "privacy",
+ "contact",
+ "register",
+ )->get();
+ return view("panel/pages", $data);
+ }
+
+ //Save site pages
+ public function editSitePage(request $request)
+ {
+ $terms = $request->terms;
+ $privacy = $request->privacy;
+ $contact = $request->contact;
+ $register = $request->register;
+
+ Page::first()->update([
+ "terms" => $terms,
+ "privacy" => $privacy,
+ "contact" => $contact,
+ "register" => $register,
+ ]);
+
+ return back();
+ }
+
+ //Show home message for edit
+ public function showSite()
+ {
+ $message = Page::select("home_message")->first();
+ return view("panel/site", $message);
+ }
+
+ //Save home message, logo and favicon
+ public function editSite(request $request)
+ {
+ $message = $request->message;
+ $logo = $request->file("image");
+ $icon = $request->file("icon");
+
+ Page::first()->update(["home_message" => $message]);
+
+ if (!empty($logo)) {
+ // Delete existing image
+ $path = findFile("avatar");
+ $path = base_path("/assets/linkstack/images/" . $path);
+
+ // Delete existing image
+ if (File::exists($path)) {
+ File::delete($path);
+ }
+
+ $logo->move(
+ base_path("/assets/linkstack/images/"),
+ "avatar" . "_" . time() . "." . $request->file("image")->extension(),
+ );
+ }
+
+ if (!empty($icon)) {
+ // Delete existing image
+ $path = findFile("favicon");
+ $path = base_path("/assets/linkstack/images/" . $path);
+
+ // Delete existing image
+ if (File::exists($path)) {
+ File::delete($path);
+ }
+
+ $icon->move(
+ base_path("/assets/linkstack/images/"),
+ "favicon" . "_" . time() . "." . $request->file("icon")->extension(),
+ );
+ }
+ return back();
+ }
+
+ //Delete avatar
+ public function delAvatar()
+ {
+ $path = findFile("avatar");
+ $path = base_path("/assets/linkstack/images/" . $path);
+
+ // Delete existing image
+ if (File::exists($path)) {
+ File::delete($path);
+ }
+
+ return back();
+ }
+
+ //Delete favicon
+ public function delFavicon()
+ {
+ // Delete existing image
+ $path = findFile("favicon");
+ $path = base_path("/assets/linkstack/images/" . $path);
+
+ // Delete existing image
+ if (File::exists($path)) {
+ File::delete($path);
+ }
+
+ return back();
+ }
+
+ //View footer page: terms
+ public function pagesTerms(Request $request)
+ {
+ $name = "terms";
- if (!empty($icon)) {
- // Delete existing image
- $path = findFile('favicon');
- $path = base_path('/assets/linkstack/images/'.$path);
-
- // Delete existing image
- if (File::exists($path)) {
- File::delete($path);
- }
-
- $icon->move(base_path('/assets/linkstack/images/'), "favicon" . '_' . time() . "." . $request->file('icon')->extension());
- }
- return back();
- }
-
- //Delete avatar
- public function delAvatar()
- {
- $path = findFile('avatar');
- $path = base_path('/assets/linkstack/images/'.$path);
-
- // Delete existing image
- if (File::exists($path)) {
- File::delete($path);
- }
-
- return back();
- }
-
- //Delete favicon
- public function delFavicon()
- {
- // Delete existing image
- $path = findFile('favicon');
- $path = base_path('/assets/linkstack/images/'.$path);
-
- // Delete existing image
- if (File::exists($path)) {
- File::delete($path);
- }
-
- return back();
+ try {
+ $data["page"] = Page::select($name)->first();
+ } catch (Exception $e) {
+ return abort(404);
}
- //View footer page: terms
- public function pagesTerms(Request $request)
- {
- $name = "terms";
-
- try {
- $data['page'] = Page::select($name)->first();
- } catch (Exception $e) {
- return abort(404);
- }
-
- return view('pages', ['data' => $data, 'name' => $name]);
- }
+ return view("pages", ["data" => $data, "name" => $name]);
+ }
- //View footer page: privacy
- public function pagesPrivacy(Request $request)
- {
- $name = "privacy";
-
- try {
- $data['page'] = Page::select($name)->first();
- } catch (Exception $e) {
- return abort(404);
- }
-
- return view('pages', ['data' => $data, 'name' => $name]);
- }
+ //View footer page: privacy
+ public function pagesPrivacy(Request $request)
+ {
+ $name = "privacy";
- //View footer page: contact
- public function pagesContact(Request $request)
- {
- $name = "contact";
-
- try {
- $data['page'] = Page::select($name)->first();
- } catch (Exception $e) {
- return abort(404);
- }
-
- return view('pages', ['data' => $data, 'name' => $name]);
+ try {
+ $data["page"] = Page::select($name)->first();
+ } catch (Exception $e) {
+ return abort(404);
}
- //Statistics of the number of clicks and links
- public function phpinfo()
- {
- return view('panel/phpinfo');
- }
+ return view("pages", ["data" => $data, "name" => $name]);
+ }
- //Shows config file editor page
- public function showFileEditor(request $request)
- {
- return redirect('/admin/config');
- }
+ //View footer page: contact
+ public function pagesContact(Request $request)
+ {
+ $name = "contact";
- //Saves advanced config
- public function editAC(request $request)
- {
- if ($request->ResetAdvancedConfig == 'RESET_DEFAULTS') {
- copy(base_path('storage/templates/advanced-config.php'), base_path('config/advanced-config.php'));
- } else {
- file_put_contents('config/advanced-config.php', $request->AdvancedConfig);
+ try {
+ $data["page"] = Page::select($name)->first();
+ } catch (Exception $e) {
+ return abort(404);
+ }
+
+ return view("pages", ["data" => $data, "name" => $name]);
+ }
+
+ //Statistics of the number of clicks and links
+ public function phpinfo()
+ {
+ return view("panel/phpinfo");
+ }
+
+ //Shows config file editor page
+ public function showFileEditor(request $request)
+ {
+ return redirect("/admin/config");
+ }
+
+ //Saves advanced config
+ public function editAC(request $request)
+ {
+ if ($request->ResetAdvancedConfig == "RESET_DEFAULTS") {
+ copy(
+ base_path("storage/templates/advanced-config.php"),
+ base_path("config/advanced-config.php"),
+ );
+ } else {
+ file_put_contents("config/advanced-config.php", $request->AdvancedConfig);
+ }
+
+ return redirect("/admin/config#2");
+ }
+
+ //Saves .env config
+ public function editENV(request $request)
+ {
+ $config = $request->altConfig;
+
+ file_put_contents(".env", $config);
+
+ return Redirect("/admin/config?alternative-config");
+ }
+
+ //Shows config file editor page
+ public function showBackups(request $request)
+ {
+ return view("/panel/backups");
+ }
+
+ //Delete custom theme
+ public function deleteTheme(request $request)
+ {
+ $del = $request->deltheme;
+
+ if (empty($del)) {
+ echo '";
+ } else {
+ $folderName = base_path() . "/themes/" . $del;
+
+ function removeFolder($folderName)
+ {
+ if (File::exists($folderName)) {
+ File::deleteDirectory($folderName);
+ return true;
}
- return redirect('/admin/config#2');
- }
-
- //Saves .env config
- public function editENV(request $request)
- {
- $config = $request->altConfig;
-
- file_put_contents('.env', $config);
-
- return Redirect('/admin/config?alternative-config');
- }
-
- //Shows config file editor page
- public function showBackups(request $request)
- {
- return view('/panel/backups');
- }
-
- //Delete custom theme
- public function deleteTheme(request $request)
- {
-
- $del = $request->deltheme;
-
- if (empty($del)) {
- echo '';
- } else {
-
- $folderName = base_path() . '/themes/' . $del;
-
-
-
- function removeFolder($folderName)
- {
- if (File::exists($folderName)) {
- File::deleteDirectory($folderName);
- return true;
- }
-
- return false;
- }
-
- removeFolder($folderName);
-
- return Redirect('/admin/theme');
+ return false;
+ }
+
+ removeFolder($folderName);
+
+ return Redirect("/admin/theme");
+ }
+ }
+
+ // Update themes
+ public function updateThemes()
+ {
+ if ($handle = opendir("themes")) {
+ while (false !== ($entry = readdir($handle))) {
+ if (file_exists(base_path("themes") . "/" . $entry . "/readme.md")) {
+ $text = file_get_contents(
+ base_path("themes") . "/" . $entry . "/readme.md",
+ );
+ $pattern = "/Theme Version:.*/";
+ preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE);
+ if (!count($matches)) {
+ continue;
+ }
+ $verNr = substr($matches[0][0], 15);
}
- }
-
- // Update themes
- public function updateThemes()
- {
-
-
- if ($handle = opendir('themes')) {
- while (false !== ($entry = readdir($handle))) {
-
- if (file_exists(base_path('themes') . '/' . $entry . '/readme.md')) {
- $text = file_get_contents(base_path('themes') . '/' . $entry . '/readme.md');
- $pattern = '/Theme Version:.*/';
- preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE);
- if (!count($matches)) continue;
- $verNr = substr($matches[0][0], 15);
+ $themeVe = null;
+
+ if ($entry != "." && $entry != "..") {
+ if (file_exists(base_path("themes") . "/" . $entry . "/readme.md")) {
+ if (
+ !strpos(
+ file_get_contents(
+ base_path("themes") . "/" . $entry . "/readme.md",
+ ),
+ "Source code:",
+ )
+ ) {
+ $hasSource = false;
+ } else {
+ $hasSource = true;
+
+ $text = file_get_contents(
+ base_path("themes") . "/" . $entry . "/readme.md",
+ );
+ $pattern = "/Source code:.*/";
+ preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE);
+ $sourceURL = substr($matches[0][0], 13);
+
+ $replaced = str_replace(
+ "https://github.com/",
+ "https://raw.githubusercontent.com/",
+ trim($sourceURL),
+ );
+ $replaced = $replaced . "/main/readme.md";
+
+ if (strpos($sourceURL, "github.com")) {
+ ini_set("user_agent", "Mozilla/4.0 (compatible; MSIE 6.0)");
+ try {
+ $textGit = file_get_contents($replaced);
+ $patternGit = "/Theme Version:.*/";
+ preg_match(
+ $patternGit,
+ $textGit,
+ $matches,
+ PREG_OFFSET_CAPTURE,
+ );
+ $sourceURLGit = substr($matches[0][0], 15);
+ $Vgitt = "v" . $sourceURLGit;
+ $verNrv = "v" . $verNr;
+ } catch (Exception $ex) {
+ $themeVe = "error";
+ $Vgitt = null;
+ $verNrv = null;
}
-
- $themeVe = NULL;
-
- if ($entry != "." && $entry != "..") {
- if (file_exists(base_path('themes') . '/' . $entry . '/readme.md')) {
- if (!strpos(file_get_contents(base_path('themes') . '/' . $entry . '/readme.md'), 'Source code:')) {
- $hasSource = false;
+ if (trim($Vgitt) > trim($verNrv)) {
+ $fileUrl =
+ trim($sourceURL) .
+ "/archive/refs/tags/" .
+ trim($Vgitt) .
+ ".zip";
+
+ file_put_contents(
+ base_path("themes/theme.zip"),
+ fopen($fileUrl, "r"),
+ );
+
+ $zip = new ZipArchive();
+ $zip->open(base_path() . "/themes/theme.zip");
+ $zip->extractTo(base_path("themes"));
+ $zip->close();
+ unlink(base_path() . "/themes/theme.zip");
+
+ $folder = base_path("themes");
+ $regex = "/[0-9.-]/";
+ $files = scandir($folder);
+
+ foreach ($files as $file) {
+ if ($file !== "." && $file !== "..") {
+ if (preg_match($regex, $file)) {
+ $new_file = preg_replace($regex, "", $file);
+ File::copyDirectory(
+ $folder . "/" . $file,
+ $folder . "/" . $new_file,
+ );
+ $dirname = $folder . "/" . $file;
+ if (strtoupper(substr(PHP_OS, 0, 3)) === "WIN") {
+ system(
+ "rmdir " . escapeshellarg($dirname) . " /s /q",
+ );
} else {
- $hasSource = true;
-
- $text = file_get_contents(base_path('themes') . '/' . $entry . '/readme.md');
- $pattern = '/Source code:.*/';
- preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE);
- $sourceURL = substr($matches[0][0], 13);
-
- $replaced = str_replace("https://github.com/", "https://raw.githubusercontent.com/", trim($sourceURL));
- $replaced = $replaced . "/main/readme.md";
-
- if (strpos($sourceURL, 'github.com')) {
-
- ini_set('user_agent', 'Mozilla/4.0 (compatible; MSIE 6.0)');
- try {
- $textGit = file_get_contents($replaced);
- $patternGit = '/Theme Version:.*/';
- preg_match($patternGit, $textGit, $matches, PREG_OFFSET_CAPTURE);
- $sourceURLGit = substr($matches[0][0], 15);
- $Vgitt = 'v' . $sourceURLGit;
- $verNrv = 'v' . $verNr;
- } catch (Exception $ex) {
- $themeVe = "error";
- $Vgitt = NULL;
- $verNrv = NULL;
- }
-
- if (trim($Vgitt) > trim($verNrv)) {
-
-
- $fileUrl = trim($sourceURL) . '/archive/refs/tags/' . trim($Vgitt) . '.zip';
-
-
- file_put_contents(base_path('themes/theme.zip'), fopen($fileUrl, 'r'));
-
-
- $zip = new ZipArchive;
- $zip->open(base_path() . '/themes/theme.zip');
- $zip->extractTo(base_path('themes'));
- $zip->close();
- unlink(base_path() . '/themes/theme.zip');
-
- $folder = base_path('themes');
- $regex = '/[0-9.-]/';
- $files = scandir($folder);
-
- foreach ($files as $file) {
- if ($file !== '.' && $file !== '..') {
- if (preg_match($regex, $file)) {
- $new_file = preg_replace($regex, '', $file);
- File::copyDirectory($folder . '/' . $file, $folder . '/' . $new_file);
- $dirname = $folder . '/' . $file;
- if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
- system('rmdir ' . escapeshellarg($dirname) . ' /s /q');
- } else {
- system("rm -rf " . escapeshellarg($dirname));
- }
- }
- }
- }
- }
- }
+ system("rm -rf " . escapeshellarg($dirname));
}
+ }
}
+ }
}
+ }
}
+ }
}
-
- return Redirect('/studio/theme');
- }
-
- //Shows config file editor page
- public function showConfig(request $request)
- {
- return view('/panel/config-editor');
- }
-
- //Shows config file editor page
- public function editConfig(request $request)
- {
-
- $type = $request->type;
- $entry = $request->entry;
- $value = $request->value;
-
- if($type === "toggle"){
- if($request->toggle != ''){$value = "true";}else{$value = "false";}
- if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, $value);}
- } elseif($type === "toggle2") {
- if($request->toggle != ''){$value = "verified";}else{$value = "auth";}
- if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, $value);}
- } elseif($type === "text") {
- if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, '"' . $value . '"');}
- } elseif($type === "debug") {
- if($request->toggle != ''){
- if(EnvEditor::keyExists('APP_DEBUG')){EnvEditor::editKey('APP_DEBUG', 'true');}
- if(EnvEditor::keyExists('APP_ENV')){EnvEditor::editKey('APP_ENV', 'local');}
- if(EnvEditor::keyExists('LOG_LEVEL')){EnvEditor::editKey('LOG_LEVEL', 'debug');}
- } else {
- if(EnvEditor::keyExists('APP_DEBUG')){EnvEditor::editKey('APP_DEBUG', 'false');}
- if(EnvEditor::keyExists('APP_ENV')){EnvEditor::editKey('APP_ENV', 'production');}
- if(EnvEditor::keyExists('LOG_LEVEL')){EnvEditor::editKey('LOG_LEVEL', 'error');}
- }
- } elseif($type === "register") {
- if($request->toggle != ''){$register = "true";}else{$register = "false";}
- Page::first()->update(['register' => $register]);
- } elseif($type === "smtp") {
- if($request->toggle != ''){$value = "built-in";}else{$value = "smtp";}
- if(EnvEditor::keyExists('MAIL_MAILER')){EnvEditor::editKey('MAIL_MAILER', $value);}
-
- if(EnvEditor::keyExists('MAIL_HOST')){EnvEditor::editKey('MAIL_HOST', $request->MAIL_HOST);}
- if(EnvEditor::keyExists('MAIL_PORT')){EnvEditor::editKey('MAIL_PORT', $request->MAIL_PORT);}
- if(EnvEditor::keyExists('MAIL_USERNAME')){EnvEditor::editKey('MAIL_USERNAME', '"' . $request->MAIL_USERNAME . '"');}
- if(EnvEditor::keyExists('MAIL_PASSWORD')){EnvEditor::editKey('MAIL_PASSWORD', '"' . $request->MAIL_PASSWORD . '"');}
- if(EnvEditor::keyExists('MAIL_ENCRYPTION')){EnvEditor::editKey('MAIL_ENCRYPTION', $request->MAIL_ENCRYPTION);}
- if(EnvEditor::keyExists('MAIL_FROM_ADDRESS')){EnvEditor::editKey('MAIL_FROM_ADDRESS', $request->MAIL_FROM_ADDRESS);}
- } elseif($type === "homeurl") {
- if($request->value == 'default'){$value = "";}else{$value = '"' . $request->value . '"';}
- if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, $value);}
- } elseif($type === "maintenance") {
- if($request->toggle != ''){$value = "true";}else{$value = "false";}
- if(file_exists(base_path("storage/MAINTENANCE"))){unlink(base_path("storage/MAINTENANCE"));}
- if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, $value);}
- } else {
- if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, $value);}
+ }
+ }
+
+ return Redirect("/studio/theme");
+ }
+
+ //Shows config file editor page
+ public function showConfig(request $request)
+ {
+ return view("/panel/config-editor");
+ }
+
+ //Shows config file editor page
+ public function editConfig(request $request)
+ {
+ $type = $request->type;
+ $entry = $request->entry;
+ $value = $request->value;
+
+ if ($type === "toggle") {
+ if ($request->toggle != "") {
+ $value = "true";
+ } else {
+ $value = "false";
+ }
+ if (EnvEditor::keyExists($entry)) {
+ EnvEditor::editKey($entry, $value);
+ }
+ } elseif ($type === "toggle2") {
+ if ($request->toggle != "") {
+ $value = "verified";
+ } else {
+ $value = "auth";
+ }
+ if (EnvEditor::keyExists($entry)) {
+ EnvEditor::editKey($entry, $value);
+ }
+ } elseif ($type === "text") {
+ if (EnvEditor::keyExists($entry)) {
+ EnvEditor::editKey($entry, '"' . $value . '"');
+ }
+ } elseif ($type === "debug") {
+ if ($request->toggle != "") {
+ if (EnvEditor::keyExists("APP_DEBUG")) {
+ EnvEditor::editKey("APP_DEBUG", "true");
}
-
-
-
-
- return Redirect('/admin/config');
- }
-
- //Shows theme editor page
- public function showThemes(request $request)
- {
- return view('/panel/theme');
- }
-
- //Removes impersonation if authenticated
- public function authAs(request $request)
- {
-
- $userID = $request->id;
- $token = $request->token;
-
- $user = User::find($userID);
-
- if($user->remember_token == $token && $request->session()->get('display_auth_nav') === $user->remember_token){
- $user->auth_as = null;
- $user->remember_token = null;
- $user->save();
-
- $request->session()->forget('display_auth_nav');
-
- Auth::loginUsingId($userID);
-
- return redirect('/admin/users/all');
- } else {
- Auth::logout();
+ if (EnvEditor::keyExists("APP_ENV")) {
+ EnvEditor::editKey("APP_ENV", "local");
}
-
+ if (EnvEditor::keyExists("LOG_LEVEL")) {
+ EnvEditor::editKey("LOG_LEVEL", "debug");
+ }
+ } else {
+ if (EnvEditor::keyExists("APP_DEBUG")) {
+ EnvEditor::editKey("APP_DEBUG", "false");
+ }
+ if (EnvEditor::keyExists("APP_ENV")) {
+ EnvEditor::editKey("APP_ENV", "production");
+ }
+ if (EnvEditor::keyExists("LOG_LEVEL")) {
+ EnvEditor::editKey("LOG_LEVEL", "error");
+ }
+ }
+ } elseif ($type === "register") {
+ if ($request->toggle != "") {
+ $register = "true";
+ } else {
+ $register = "false";
+ }
+ Page::first()->update(["register" => $register]);
+ } elseif ($type === "smtp") {
+ if ($request->toggle != "") {
+ $value = "built-in";
+ } else {
+ $value = "smtp";
+ }
+ if (EnvEditor::keyExists("MAIL_MAILER")) {
+ EnvEditor::editKey("MAIL_MAILER", $value);
+ }
+
+ if (EnvEditor::keyExists("MAIL_HOST")) {
+ EnvEditor::editKey("MAIL_HOST", $request->MAIL_HOST);
+ }
+ if (EnvEditor::keyExists("MAIL_PORT")) {
+ EnvEditor::editKey("MAIL_PORT", $request->MAIL_PORT);
+ }
+ if (EnvEditor::keyExists("MAIL_USERNAME")) {
+ EnvEditor::editKey(
+ "MAIL_USERNAME",
+ '"' . $request->MAIL_USERNAME . '"',
+ );
+ }
+ if (EnvEditor::keyExists("MAIL_PASSWORD")) {
+ EnvEditor::editKey(
+ "MAIL_PASSWORD",
+ '"' . $request->MAIL_PASSWORD . '"',
+ );
+ }
+ if (EnvEditor::keyExists("MAIL_ENCRYPTION")) {
+ EnvEditor::editKey("MAIL_ENCRYPTION", $request->MAIL_ENCRYPTION);
+ }
+ if (EnvEditor::keyExists("MAIL_FROM_ADDRESS")) {
+ EnvEditor::editKey("MAIL_FROM_ADDRESS", $request->MAIL_FROM_ADDRESS);
+ }
+ } elseif ($type === "homeurl") {
+ if ($request->value == "default") {
+ $value = "";
+ } else {
+ $value = '"' . $request->value . '"';
+ }
+ if (EnvEditor::keyExists($entry)) {
+ EnvEditor::editKey($entry, $value);
+ }
+ } elseif ($type === "maintenance") {
+ if ($request->toggle != "") {
+ $value = "true";
+ } else {
+ $value = "false";
+ }
+ if (file_exists(base_path("storage/MAINTENANCE"))) {
+ unlink(base_path("storage/MAINTENANCE"));
+ }
+ if (EnvEditor::keyExists($entry)) {
+ EnvEditor::editKey($entry, $value);
+ }
+ } else {
+ if (EnvEditor::keyExists($entry)) {
+ EnvEditor::editKey($entry, $value);
+ }
+ }
+
+ return Redirect("/admin/config");
+ }
+
+ //Shows theme editor page
+ public function showThemes(request $request)
+ {
+ return view("/panel/theme");
+ }
+
+ //Removes impersonation if authenticated
+ public function authAs(Request $request)
+ {
+ $userID = $request->id;
+ $token = $request->token;
+
+ $user = User::find($userID);
+
+ if (!$user) {
+ Auth::logout();
+ return redirect("/login");
+ }
+
+ $userRememberToken = $user->remember_token;
+ $sessionToken = $request->session()->get("display_auth_nav");
+
+ if (
+ !empty($token) &&
+ !empty($userRememberToken) &&
+ !empty($sessionToken) &&
+ hash_equals($userRememberToken, $token) &&
+ hash_equals($userRememberToken, $sessionToken)
+ ) {
+ $user->auth_as = null;
+ $user->remember_token = null;
+ $user->save();
+
+ $request->session()->forget("display_auth_nav");
+
+ Auth::loginUsingId($userID);
+
+ return redirect("/admin/users/all");
+ } else {
+ Auth::logout();
+ return redirect("/login");
+ }
+ }
+
+ //Add impersonation
+ public function authAsID(request $request)
+ {
+ $adminUser = User::whereNotNull("auth_as")->where("role", "admin")->first();
+
+ if (!$adminUser) {
+ $userID = $request->id;
+ $id = Auth::user()->id;
+
+ $user = User::find($id);
+
+ $user->auth_as = $userID;
+ $user->save();
+
+ return redirect("dashboard");
+ } else {
+ return redirect("admin/users/all");
+ }
+ }
+
+ //Show info about link
+ public function redirectInfo(request $request)
+ {
+ $linkId = $request->id;
+
+ if (empty($linkId)) {
+ return abort(404);
}
- //Add impersonation
- public function authAsID(request $request)
- {
-
- $adminUser = User::whereNotNull('auth_as')->where('role', 'admin')->first();
-
- if (!$adminUser) {
-
- $userID = $request->id;
- $id = Auth::user()->id;
-
- $user = User::find($id);
-
- $user->auth_as = $userID;
- $user->save();
-
- return redirect('dashboard');
-
- } else {
- return redirect('admin/users/all');
- }
+ $linkData = Link::find($linkId);
+ $clicks = $linkData->click_number;
+ if (empty($linkData)) {
+ return abort(404);
}
- //Show info about link
- public function redirectInfo(request $request)
+ function isValidLink($url)
{
- $linkId = $request->id;
+ $validPrefixes = ["http", "https", "ftp", "mailto", "tel", "news"];
- if (empty($linkId)) {
- return abort(404);
- }
-
- $linkData = Link::find($linkId);
- $clicks = $linkData->click_number;
-
- if (empty($linkData)) {
- return abort(404);
- }
-
- function isValidLink($url) {
- $validPrefixes = array('http', 'https', 'ftp', 'mailto', 'tel', 'news');
-
- $pattern = '/^(' . implode('|', $validPrefixes) . '):/i';
-
- if (preg_match($pattern, $url) && strlen($url) <= 155) {
- return $url;
- } else {
- return "N/A";
- }
- }
-
- $link = isValidLink($linkData->link);
+ $pattern = "/^(" . implode("|", $validPrefixes) . "):/i";
- $userID = $linkData->user_id;
- $userData = User::find($userID);
+ if (preg_match($pattern, $url) && strlen($url) <= 155) {
+ return $url;
+ } else {
+ return "N/A";
+ }
+ }
- return view('linkinfo', ['clicks' => $clicks, 'linkID' => $linkId, 'link' => $link, 'id' => $userID, 'userData' => $userData]);
+ $link = isValidLink($linkData->link);
- }
+ $userID = $linkData->user_id;
+ $userData = User::find($userID);
+ return view("linkinfo", [
+ "clicks" => $clicks,
+ "linkID" => $linkId,
+ "link" => $link,
+ "id" => $userID,
+ "userData" => $userData,
+ ]);
+ }
}
diff --git a/composer.lock b/composer.lock
index 8138fd2d8..96e6c638b 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,24 +4,24 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "f2bf9e2d3ef238c3a5709b1a28e82833",
+ "content-hash": "baacb808064fe8cadd982607d069928e",
"packages": [
{
"name": "awssat/laravel-visits",
- "version": "6.1.1",
+ "version": "6.2.0",
"source": {
"type": "git",
"url": "https://github.com/awssat/laravel-visits.git",
- "reference": "8d6c165742e5bf0a8b6d1501771c3d409f1f8948"
+ "reference": "ff9e034183f6f9a8d3c06caad95b7936678936b9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/awssat/laravel-visits/zipball/8d6c165742e5bf0a8b6d1501771c3d409f1f8948",
- "reference": "8d6c165742e5bf0a8b6d1501771c3d409f1f8948",
+ "url": "https://api.github.com/repos/awssat/laravel-visits/zipball/ff9e034183f6f9a8d3c06caad95b7936678936b9",
+ "reference": "ff9e034183f6f9a8d3c06caad95b7936678936b9",
"shasum": ""
},
"require": {
- "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0",
+ "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0",
"jaybizzle/crawler-detect": "^1.2",
"nesbot/carbon": "^2.0|^3.0",
"php": "^8.0",
@@ -29,11 +29,11 @@
"torann/geoip": "^1.0|^3.0"
},
"require-dev": {
- "doctrine/dbal": "^2.6|^3.0",
- "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0",
+ "doctrine/dbal": "^2.6 || ^3.0 || ^4.0",
+ "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0",
"mockery/mockery": "^1.4 || ^1.6",
- "orchestra/testbench": "^3.5 || ^3.6 || ^3.7 || ^3.8 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0",
- "phpunit/phpunit": "^9.0 || ^10.1",
+ "orchestra/testbench": "^3.5 || ^3.6 || ^3.7 || ^3.8 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0",
+ "phpunit/phpunit": "^9.0 || ^10.1 || ^11.0",
"predis/predis": "^1.1|^2.0"
},
"suggest": {
@@ -43,16 +43,16 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- },
"laravel": {
- "providers": [
- "Awssat\\Visits\\VisitsServiceProvider"
- ],
"aliases": {
"Visits": "Awssat\\Visits\\Visits"
- }
+ },
+ "providers": [
+ "Awssat\\Visits\\VisitsServiceProvider"
+ ]
+ },
+ "branch-alias": {
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -90,7 +90,7 @@
],
"support": {
"issues": "https://github.com/awssat/laravel-visits/issues",
- "source": "https://github.com/awssat/laravel-visits/tree/6.1.1"
+ "source": "https://github.com/awssat/laravel-visits/tree/6.2.0"
},
"funding": [
{
@@ -98,7 +98,7 @@
"type": "github"
}
],
- "time": "2024-07-07T22:47:10+00:00"
+ "time": "2025-04-14T11:43:36+00:00"
},
{
"name": "bacon/bacon-qr-code",
@@ -201,6 +201,7 @@
"issues": "https://github.com/Behat/Transliterator/issues",
"source": "https://github.com/Behat/Transliterator/tree/v1.5.0"
},
+ "abandoned": true,
"time": "2022-03-30T09:27:43+00:00"
},
{
@@ -327,91 +328,6 @@
],
"time": "2023-12-11T17:09:12+00:00"
},
- {
- "name": "codedge/laravel-selfupdater",
- "version": "3.6.2",
- "source": {
- "type": "git",
- "url": "https://github.com/codedge/laravel-selfupdater.git",
- "reference": "44bbecaff3652aeb9b9eb73c79f82ecf6a698b02"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/codedge/laravel-selfupdater/zipball/44bbecaff3652aeb9b9eb73c79f82ecf6a698b02",
- "reference": "44bbecaff3652aeb9b9eb73c79f82ecf6a698b02",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "ext-zip": "*",
- "guzzlehttp/guzzle": "^7.5.0",
- "laravel/framework": "^9",
- "league/uri": "~6.7|~6.8",
- "php": "^8.0 || ^8.1",
- "phpstan/extension-installer": "^1.2",
- "phpstan/phpstan-phpunit": "^1.2"
- },
- "require-dev": {
- "dg/bypass-finals": "^1.3",
- "mikey179/vfsstream": "^1.6",
- "mockery/mockery": "^1.5",
- "orchestra/testbench": "^7.0",
- "phpunit/phpunit": "^9.5.26"
- },
- "type": "library",
- "extra": {
- "laravel": {
- "aliases": {
- "Updater": "Codedge\\Updater\\UpdaterFacade"
- },
- "providers": [
- "Codedge\\Updater\\UpdaterServiceProvider"
- ]
- }
- },
- "autoload": {
- "files": [
- "src/helpers.php"
- ],
- "psr-4": {
- "Codedge\\Updater\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Holger Lösken",
- "email": "holger.loesken@codedge.de",
- "homepage": "https://codedge.de",
- "role": "Developer"
- }
- ],
- "description": "Providing an auto-updating functionality for your self-hosted Laravel application.",
- "keywords": [
- "auto update",
- "auto-update",
- "laravel",
- "laravel application",
- "self update",
- "self-hosted laravel application",
- "self-update",
- "update"
- ],
- "support": {
- "issues": "https://github.com/codedge/laravel-selfupdater/issues",
- "source": "https://github.com/codedge/laravel-selfupdater"
- },
- "funding": [
- {
- "url": "https://github.com/codedge",
- "type": "github"
- }
- ],
- "time": "2023-01-29T23:25:52+00:00"
- },
{
"name": "cohensive/oembed",
"version": "v0.17",
@@ -473,16 +389,16 @@
},
{
"name": "dasprid/enum",
- "version": "1.0.6",
+ "version": "1.0.7",
"source": {
"type": "git",
"url": "https://github.com/DASPRiD/Enum.git",
- "reference": "8dfd07c6d2cf31c8da90c53b83c026c7696dda90"
+ "reference": "b5874fa9ed0043116c72162ec7f4fb50e02e7cce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/8dfd07c6d2cf31c8da90c53b83c026c7696dda90",
- "reference": "8dfd07c6d2cf31c8da90c53b83c026c7696dda90",
+ "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/b5874fa9ed0043116c72162ec7f4fb50e02e7cce",
+ "reference": "b5874fa9ed0043116c72162ec7f4fb50e02e7cce",
"shasum": ""
},
"require": {
@@ -517,9 +433,9 @@
],
"support": {
"issues": "https://github.com/DASPRiD/Enum/issues",
- "source": "https://github.com/DASPRiD/Enum/tree/1.0.6"
+ "source": "https://github.com/DASPRiD/Enum/tree/1.0.7"
},
- "time": "2024-08-09T14:30:48+00:00"
+ "time": "2025-09-16T12:23:56+00:00"
},
{
"name": "dflydev/dot-access-data",
@@ -596,135 +512,43 @@
},
"time": "2024-07-08T12:26:09+00:00"
},
- {
- "name": "doctrine/cache",
- "version": "2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/cache.git",
- "reference": "1ca8f21980e770095a31456042471a57bc4c68fb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb",
- "reference": "1ca8f21980e770095a31456042471a57bc4c68fb",
- "shasum": ""
- },
- "require": {
- "php": "~7.1 || ^8.0"
- },
- "conflict": {
- "doctrine/common": ">2.2,<2.4"
- },
- "require-dev": {
- "cache/integration-tests": "dev-master",
- "doctrine/coding-standard": "^9",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "psr/cache": "^1.0 || ^2.0 || ^3.0",
- "symfony/cache": "^4.4 || ^5.4 || ^6",
- "symfony/var-exporter": "^4.4 || ^5.4 || ^6"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.",
- "homepage": "https://www.doctrine-project.org/projects/cache.html",
- "keywords": [
- "abstraction",
- "apcu",
- "cache",
- "caching",
- "couchdb",
- "memcached",
- "php",
- "redis",
- "xcache"
- ],
- "support": {
- "issues": "https://github.com/doctrine/cache/issues",
- "source": "https://github.com/doctrine/cache/tree/2.2.0"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache",
- "type": "tidelift"
- }
- ],
- "time": "2022-05-20T20:07:39+00:00"
- },
{
"name": "doctrine/dbal",
- "version": "3.9.1",
+ "version": "3.10.4",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7"
+ "reference": "63a46cb5aa6f60991186cc98c1d1b50c09311868"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/d7dc08f98cba352b2bab5d32c5e58f7e745c11a7",
- "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/63a46cb5aa6f60991186cc98c1d1b50c09311868",
+ "reference": "63a46cb5aa6f60991186cc98c1d1b50c09311868",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2",
- "doctrine/cache": "^1.11|^2.0",
"doctrine/deprecations": "^0.5.3|^1",
"doctrine/event-manager": "^1|^2",
"php": "^7.4 || ^8.0",
"psr/cache": "^1|^2|^3",
"psr/log": "^1|^2|^3"
},
+ "conflict": {
+ "doctrine/cache": "< 1.11"
+ },
"require-dev": {
- "doctrine/coding-standard": "12.0.0",
+ "doctrine/cache": "^1.11|^2.0",
+ "doctrine/coding-standard": "14.0.0",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2023.1",
- "phpstan/phpstan": "1.12.0",
- "phpstan/phpstan-strict-rules": "^1.6",
- "phpunit/phpunit": "9.6.20",
- "psalm/plugin-phpunit": "0.18.4",
- "slevomat/coding-standard": "8.13.1",
- "squizlabs/php_codesniffer": "3.10.2",
- "symfony/cache": "^5.4|^6.0|^7.0",
- "symfony/console": "^4.4|^5.4|^6.0|^7.0",
- "vimeo/psalm": "4.30.0"
+ "phpstan/phpstan": "2.1.30",
+ "phpstan/phpstan-strict-rules": "^2",
+ "phpunit/phpunit": "9.6.29",
+ "slevomat/coding-standard": "8.24.0",
+ "squizlabs/php_codesniffer": "4.0.0",
+ "symfony/cache": "^5.4|^6.0|^7.0|^8.0",
+ "symfony/console": "^4.4|^5.4|^6.0|^7.0|^8.0"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
@@ -784,7 +608,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/3.9.1"
+ "source": "https://github.com/doctrine/dbal/tree/3.10.4"
},
"funding": [
{
@@ -800,33 +624,34 @@
"type": "tidelift"
}
],
- "time": "2024-09-01T13:49:23+00:00"
+ "time": "2025-11-29T10:46:08+00:00"
},
{
"name": "doctrine/deprecations",
- "version": "1.1.3",
+ "version": "1.1.5",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
+ "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
- "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
+ "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
+ "conflict": {
+ "phpunit/phpunit": "<=7.5 || >=13"
+ },
"require-dev": {
- "doctrine/coding-standard": "^9",
- "phpstan/phpstan": "1.4.10 || 1.10.15",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "psalm/plugin-phpunit": "0.18.4",
- "psr/log": "^1 || ^2 || ^3",
- "vimeo/psalm": "4.30.0 || 5.12.0"
+ "doctrine/coding-standard": "^9 || ^12 || ^13",
+ "phpstan/phpstan": "1.4.10 || 2.1.11",
+ "phpstan/phpstan-phpunit": "^1.0 || ^2",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12",
+ "psr/log": "^1 || ^2 || ^3"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
@@ -834,7 +659,7 @@
"type": "library",
"autoload": {
"psr-4": {
- "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
+ "Doctrine\\Deprecations\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -845,22 +670,22 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.3"
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.5"
},
- "time": "2024-01-30T19:34:25+00:00"
+ "time": "2025-04-07T20:06:18+00:00"
},
{
"name": "doctrine/event-manager",
- "version": "2.0.1",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/event-manager.git",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e"
+ "reference": "c07799fcf5ad362050960a0fd068dded40b1e312"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e",
+ "url": "https://api.github.com/repos/doctrine/event-manager/zipball/c07799fcf5ad362050960a0fd068dded40b1e312",
+ "reference": "c07799fcf5ad362050960a0fd068dded40b1e312",
"shasum": ""
},
"require": {
@@ -870,10 +695,10 @@
"doctrine/common": "<2.9"
},
"require-dev": {
- "doctrine/coding-standard": "^12",
- "phpstan/phpstan": "^1.8.8",
- "phpunit/phpunit": "^10.5",
- "vimeo/psalm": "^5.24"
+ "doctrine/coding-standard": "^14",
+ "phpdocumentor/guides-cli": "^1.4",
+ "phpstan/phpstan": "^2.1.32",
+ "phpunit/phpunit": "^10.5.58"
},
"type": "library",
"autoload": {
@@ -922,7 +747,7 @@
],
"support": {
"issues": "https://github.com/doctrine/event-manager/issues",
- "source": "https://github.com/doctrine/event-manager/tree/2.0.1"
+ "source": "https://github.com/doctrine/event-manager/tree/2.1.0"
},
"funding": [
{
@@ -938,37 +763,36 @@
"type": "tidelift"
}
],
- "time": "2024-05-22T20:47:39+00:00"
+ "time": "2026-01-17T22:40:21+00:00"
},
{
"name": "doctrine/inflector",
- "version": "2.0.10",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/inflector.git",
- "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc"
+ "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc",
- "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/6d6c96277ea252fc1304627204c3d5e6e15faa3b",
+ "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^11.0",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpstan/phpstan-strict-rules": "^1.3",
- "phpunit/phpunit": "^8.5 || ^9.5",
- "vimeo/psalm": "^4.25 || ^5.4"
+ "doctrine/coding-standard": "^12.0 || ^13.0",
+ "phpstan/phpstan": "^1.12 || ^2.0",
+ "phpstan/phpstan-phpunit": "^1.4 || ^2.0",
+ "phpstan/phpstan-strict-rules": "^1.6 || ^2.0",
+ "phpunit/phpunit": "^8.5 || ^12.2"
},
"type": "library",
"autoload": {
"psr-4": {
- "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
+ "Doctrine\\Inflector\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1013,7 +837,7 @@
],
"support": {
"issues": "https://github.com/doctrine/inflector/issues",
- "source": "https://github.com/doctrine/inflector/tree/2.0.10"
+ "source": "https://github.com/doctrine/inflector/tree/2.1.0"
},
"funding": [
{
@@ -1029,7 +853,7 @@
"type": "tidelift"
}
],
- "time": "2024-02-18T20:23:39+00:00"
+ "time": "2025-08-10T19:31:58+00:00"
},
{
"name": "doctrine/lexer",
@@ -1110,32 +934,35 @@
},
{
"name": "dragonmantank/cron-expression",
- "version": "v3.3.3",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/dragonmantank/cron-expression.git",
- "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a"
+ "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a",
- "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a",
+ "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/d61a8a9604ec1f8c3d150d09db6ce98b32675013",
+ "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013",
"shasum": ""
},
"require": {
- "php": "^7.2|^8.0",
- "webmozart/assert": "^1.0"
+ "php": "^8.2|^8.3|^8.4|^8.5"
},
"replace": {
"mtdowling/cron-expression": "^1.0"
},
"require-dev": {
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^1.0",
- "phpstan/phpstan-webmozart-assert": "^1.0",
- "phpunit/phpunit": "^7.0|^8.0|^9.0"
+ "phpstan/extension-installer": "^1.4.3",
+ "phpstan/phpstan": "^1.12.32|^2.1.31",
+ "phpunit/phpunit": "^8.5.48|^9.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Cron\\": "src/Cron/"
@@ -1159,7 +986,7 @@
],
"support": {
"issues": "https://github.com/dragonmantank/cron-expression/issues",
- "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3"
+ "source": "https://github.com/dragonmantank/cron-expression/tree/v3.6.0"
},
"funding": [
{
@@ -1167,20 +994,20 @@
"type": "github"
}
],
- "time": "2023-08-10T19:36:49+00:00"
+ "time": "2025-10-31T18:51:33+00:00"
},
{
"name": "egulias/email-validator",
- "version": "4.0.2",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e"
+ "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e",
- "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa",
+ "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa",
"shasum": ""
},
"require": {
@@ -1226,7 +1053,7 @@
],
"support": {
"issues": "https://github.com/egulias/EmailValidator/issues",
- "source": "https://github.com/egulias/EmailValidator/tree/4.0.2"
+ "source": "https://github.com/egulias/EmailValidator/tree/4.0.4"
},
"funding": [
{
@@ -1234,7 +1061,7 @@
"type": "github"
}
],
- "time": "2023-10-06T06:47:41+00:00"
+ "time": "2025-03-06T22:45:56+00:00"
},
{
"name": "fideloper/proxy",
@@ -1296,16 +1123,16 @@
},
{
"name": "firebase/php-jwt",
- "version": "v6.10.1",
+ "version": "v7.0.2",
"source": {
"type": "git",
"url": "https://github.com/firebase/php-jwt.git",
- "reference": "500501c2ce893c824c801da135d02661199f60c5"
+ "reference": "5645b43af647b6947daac1d0f659dd1fbe8d3b65"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/firebase/php-jwt/zipball/500501c2ce893c824c801da135d02661199f60c5",
- "reference": "500501c2ce893c824c801da135d02661199f60c5",
+ "url": "https://api.github.com/repos/firebase/php-jwt/zipball/5645b43af647b6947daac1d0f659dd1fbe8d3b65",
+ "reference": "5645b43af647b6947daac1d0f659dd1fbe8d3b65",
"shasum": ""
},
"require": {
@@ -1353,37 +1180,37 @@
],
"support": {
"issues": "https://github.com/firebase/php-jwt/issues",
- "source": "https://github.com/firebase/php-jwt/tree/v6.10.1"
+ "source": "https://github.com/firebase/php-jwt/tree/v7.0.2"
},
- "time": "2024-05-18T18:05:11+00:00"
+ "time": "2025-12-16T22:17:28+00:00"
},
{
"name": "fruitcake/php-cors",
- "version": "v1.3.0",
+ "version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/fruitcake/php-cors.git",
- "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b"
+ "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b",
- "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b",
+ "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379",
+ "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379",
"shasum": ""
},
"require": {
- "php": "^7.4|^8.0",
- "symfony/http-foundation": "^4.4|^5.4|^6|^7"
+ "php": "^8.1",
+ "symfony/http-foundation": "^5.4|^6.4|^7.3|^8"
},
"require-dev": {
- "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan": "^2",
"phpunit/phpunit": "^9",
- "squizlabs/php_codesniffer": "^3.5"
+ "squizlabs/php_codesniffer": "^4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2-dev"
+ "dev-master": "1.3-dev"
}
},
"autoload": {
@@ -1414,7 +1241,7 @@
],
"support": {
"issues": "https://github.com/fruitcake/php-cors/issues",
- "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0"
+ "source": "https://github.com/fruitcake/php-cors/tree/v1.4.0"
},
"funding": [
{
@@ -1426,7 +1253,7 @@
"type": "github"
}
],
- "time": "2023-10-12T05:21:21+00:00"
+ "time": "2025-12-03T09:33:47+00:00"
},
{
"name": "geo-sot/laravel-env-editor",
@@ -1454,12 +1281,12 @@
"type": "library",
"extra": {
"laravel": {
- "providers": [
- "GeoSot\\EnvEditor\\ServiceProvider"
- ],
"aliases": {
"EnvEditor": "GeoSot\\EnvEditor\\Facades\\EnvEditor"
- }
+ },
+ "providers": [
+ "GeoSot\\EnvEditor\\ServiceProvider"
+ ]
}
},
"autoload": {
@@ -1492,24 +1319,24 @@
},
{
"name": "graham-campbell/result-type",
- "version": "v1.1.3",
+ "version": "v1.1.4",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Result-Type.git",
- "reference": "3ba905c11371512af9d9bdd27d99b782216b6945"
+ "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945",
- "reference": "3ba905c11371512af9d9bdd27d99b782216b6945",
+ "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b",
+ "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.3"
+ "phpoption/phpoption": "^1.9.5"
},
"require-dev": {
- "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
+ "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7"
},
"type": "library",
"autoload": {
@@ -1538,7 +1365,7 @@
],
"support": {
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
- "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3"
+ "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.4"
},
"funding": [
{
@@ -1550,26 +1377,26 @@
"type": "tidelift"
}
],
- "time": "2024-07-20T21:45:45+00:00"
+ "time": "2025-12-27T19:43:20+00:00"
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.9.2",
+ "version": "7.10.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "d281ed313b989f213357e3be1a179f02196ac99b"
+ "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b",
- "reference": "d281ed313b989f213357e3be1a179f02196ac99b",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4",
+ "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4",
"shasum": ""
},
"require": {
"ext-json": "*",
- "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
- "guzzlehttp/psr7": "^2.7.0",
+ "guzzlehttp/promises": "^2.3",
+ "guzzlehttp/psr7": "^2.8",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -1660,7 +1487,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.9.2"
+ "source": "https://github.com/guzzle/guzzle/tree/7.10.0"
},
"funding": [
{
@@ -1676,20 +1503,20 @@
"type": "tidelift"
}
],
- "time": "2024-07-24T11:22:20+00:00"
+ "time": "2025-08-23T22:36:01+00:00"
},
{
"name": "guzzlehttp/promises",
- "version": "2.0.3",
+ "version": "2.3.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
+ "reference": "481557b130ef3790cf82b713667b43030dc9c957"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
- "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957",
+ "reference": "481557b130ef3790cf82b713667b43030dc9c957",
"shasum": ""
},
"require": {
@@ -1697,7 +1524,7 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20"
+ "phpunit/phpunit": "^8.5.44 || ^9.6.25"
},
"type": "library",
"extra": {
@@ -1743,7 +1570,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.0.3"
+ "source": "https://github.com/guzzle/promises/tree/2.3.0"
},
"funding": [
{
@@ -1759,20 +1586,20 @@
"type": "tidelift"
}
],
- "time": "2024-07-18T10:29:17+00:00"
+ "time": "2025-08-22T14:34:08+00:00"
},
{
"name": "guzzlehttp/psr7",
- "version": "2.7.0",
+ "version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
+ "reference": "21dc724a0583619cd1652f673303492272778051"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
- "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051",
+ "reference": "21dc724a0583619cd1652f673303492272778051",
"shasum": ""
},
"require": {
@@ -1788,7 +1615,7 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"http-interop/http-factory-tests": "0.9.0",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20"
+ "phpunit/phpunit": "^8.5.44 || ^9.6.25"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@@ -1859,7 +1686,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.7.0"
+ "source": "https://github.com/guzzle/psr7/tree/2.8.0"
},
"funding": [
{
@@ -1875,20 +1702,20 @@
"type": "tidelift"
}
],
- "time": "2024-07-18T11:15:46+00:00"
+ "time": "2025-08-23T21:21:41+00:00"
},
{
"name": "guzzlehttp/uri-template",
- "version": "v1.0.3",
+ "version": "v1.0.5",
"source": {
"type": "git",
"url": "https://github.com/guzzle/uri-template.git",
- "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c"
+ "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c",
- "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c",
+ "url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1",
+ "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1",
"shasum": ""
},
"require": {
@@ -1897,7 +1724,7 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15",
+ "phpunit/phpunit": "^8.5.44 || ^9.6.25",
"uri-template/tests": "1.0.0"
},
"type": "library",
@@ -1945,7 +1772,7 @@
],
"support": {
"issues": "https://github.com/guzzle/uri-template/issues",
- "source": "https://github.com/guzzle/uri-template/tree/v1.0.3"
+ "source": "https://github.com/guzzle/uri-template/tree/v1.0.5"
},
"funding": [
{
@@ -1961,24 +1788,24 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T19:50:20+00:00"
+ "time": "2025-08-22T14:27:06+00:00"
},
{
"name": "jaybizzle/crawler-detect",
- "version": "v1.2.120",
+ "version": "v1.3.6",
"source": {
"type": "git",
"url": "https://github.com/JayBizzle/Crawler-Detect.git",
- "reference": "2b325bdce46bbb8a2e96dc740ad37c743c9d8617"
+ "reference": "61f2ef1ad2d0ae922c265931cb0a8032a1ed2813"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/2b325bdce46bbb8a2e96dc740ad37c743c9d8617",
- "reference": "2b325bdce46bbb8a2e96dc740ad37c743c9d8617",
+ "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/61f2ef1ad2d0ae922c265931cb0a8032a1ed2813",
+ "reference": "61f2ef1ad2d0ae922c265931cb0a8032a1ed2813",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=7.1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8|^5.5|^6.5|^9.4"
@@ -2011,9 +1838,9 @@
],
"support": {
"issues": "https://github.com/JayBizzle/Crawler-Detect/issues",
- "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.120"
+ "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.3.6"
},
- "time": "2024-09-15T14:31:21+00:00"
+ "time": "2025-09-30T16:22:43+00:00"
},
{
"name": "jeroendesloovere/vcard",
@@ -2070,16 +1897,16 @@
},
{
"name": "laravel/framework",
- "version": "v9.52.16",
+ "version": "v9.52.21",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "082345d76fc6a55b649572efe10b11b03e279d24"
+ "reference": "6055d9594c9da265ddbf1e27e7dd8f09624568bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/082345d76fc6a55b649572efe10b11b03e279d24",
- "reference": "082345d76fc6a55b649572efe10b11b03e279d24",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/6055d9594c9da265ddbf1e27e7dd8f09624568bc",
+ "reference": "6055d9594c9da265ddbf1e27e7dd8f09624568bc",
"shasum": ""
},
"require": {
@@ -2264,20 +2091,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2023-10-03T13:02:30+00:00"
+ "time": "2025-09-30T14:57:50+00:00"
},
{
"name": "laravel/serializable-closure",
- "version": "v1.3.5",
+ "version": "v1.3.7",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
- "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c"
+ "reference": "4f48ade902b94323ca3be7646db16209ec76be3d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c",
- "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c",
+ "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d",
+ "reference": "4f48ade902b94323ca3be7646db16209ec76be3d",
"shasum": ""
},
"require": {
@@ -2325,51 +2152,51 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
- "time": "2024-09-23T13:33:08+00:00"
+ "time": "2024-11-14T18:34:49+00:00"
},
{
"name": "laravel/socialite",
- "version": "v5.16.0",
+ "version": "v5.24.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/socialite.git",
- "reference": "40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf"
+ "reference": "5cea2eebf11ca4bc6c2f20495c82a70a9b3d1613"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/socialite/zipball/40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf",
- "reference": "40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf",
+ "url": "https://api.github.com/repos/laravel/socialite/zipball/5cea2eebf11ca4bc6c2f20495c82a70a9b3d1613",
+ "reference": "5cea2eebf11ca4bc6c2f20495c82a70a9b3d1613",
"shasum": ""
},
"require": {
"ext-json": "*",
- "firebase/php-jwt": "^6.4",
+ "firebase/php-jwt": "^6.4|^7.0",
"guzzlehttp/guzzle": "^6.0|^7.0",
- "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
- "illuminate/http": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
- "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
- "league/oauth1-client": "^1.10.1",
+ "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/http": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "league/oauth1-client": "^1.11",
"php": "^7.2|^8.0",
"phpseclib/phpseclib": "^3.0"
},
"require-dev": {
"mockery/mockery": "^1.0",
- "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0|^8.0|^9.0",
- "phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^8.0|^9.3|^10.4"
+ "orchestra/testbench": "^4.18|^5.20|^6.47|^7.55|^8.36|^9.15|^10.8",
+ "phpstan/phpstan": "^1.12.23",
+ "phpunit/phpunit": "^8.0|^9.3|^10.4|^11.5|^12.0"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "5.x-dev"
- },
"laravel": {
- "providers": [
- "Laravel\\Socialite\\SocialiteServiceProvider"
- ],
"aliases": {
"Socialite": "Laravel\\Socialite\\Facades\\Socialite"
- }
+ },
+ "providers": [
+ "Laravel\\Socialite\\SocialiteServiceProvider"
+ ]
+ },
+ "branch-alias": {
+ "dev-master": "5.x-dev"
}
},
"autoload": {
@@ -2397,37 +2224,37 @@
"issues": "https://github.com/laravel/socialite/issues",
"source": "https://github.com/laravel/socialite"
},
- "time": "2024-09-03T09:46:57+00:00"
+ "time": "2026-01-10T16:07:28+00:00"
},
{
"name": "laravel/tinker",
- "version": "v2.10.0",
+ "version": "v2.11.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/tinker.git",
- "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5"
+ "reference": "3d34b97c9a1747a81a3fde90482c092bd8b66468"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/tinker/zipball/ba4d51eb56de7711b3a37d63aa0643e99a339ae5",
- "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5",
+ "url": "https://api.github.com/repos/laravel/tinker/zipball/3d34b97c9a1747a81a3fde90482c092bd8b66468",
+ "reference": "3d34b97c9a1747a81a3fde90482c092bd8b66468",
"shasum": ""
},
"require": {
- "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
- "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
- "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
+ "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
"php": "^7.2.5|^8.0",
"psy/psysh": "^0.11.1|^0.12.0",
- "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0"
+ "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0|^8.0"
},
"require-dev": {
"mockery/mockery": "~1.3.3|^1.4.2",
"phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^8.5.8|^9.3.3"
+ "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0"
},
"suggest": {
- "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)."
+ "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)."
},
"type": "library",
"extra": {
@@ -2461,22 +2288,22 @@
],
"support": {
"issues": "https://github.com/laravel/tinker/issues",
- "source": "https://github.com/laravel/tinker/tree/v2.10.0"
+ "source": "https://github.com/laravel/tinker/tree/v2.11.0"
},
- "time": "2024-09-23T13:32:56+00:00"
+ "time": "2025-12-19T19:16:45+00:00"
},
{
"name": "league/commonmark",
- "version": "2.5.3",
+ "version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "b650144166dfa7703e62a22e493b853b58d874b0"
+ "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/b650144166dfa7703e62a22e493b853b58d874b0",
- "reference": "b650144166dfa7703e62a22e493b853b58d874b0",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb",
+ "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb",
"shasum": ""
},
"require": {
@@ -2501,10 +2328,11 @@
"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",
+ "symfony/finder": "^5.3 | ^6.0 | ^7.0",
+ "symfony/process": "^5.4 | ^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"
+ "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0"
},
"suggest": {
"symfony/yaml": "v2.3+ required if using the Front Matter extension"
@@ -2512,7 +2340,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.6-dev"
+ "dev-main": "2.9-dev"
}
},
"autoload": {
@@ -2569,7 +2397,7 @@
"type": "tidelift"
}
],
- "time": "2024-08-16T11:46:16+00:00"
+ "time": "2025-11-26T21:48:24+00:00"
},
{
"name": "league/config",
@@ -2655,16 +2483,16 @@
},
{
"name": "league/flysystem",
- "version": "3.29.0",
+ "version": "3.31.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "0adc0d9a51852e170e0028a60bd271726626d3f0"
+ "reference": "1717e0b3642b0df65ecb0cc89cdd99fa840672ff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/0adc0d9a51852e170e0028a60bd271726626d3f0",
- "reference": "0adc0d9a51852e170e0028a60bd271726626d3f0",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/1717e0b3642b0df65ecb0cc89cdd99fa840672ff",
+ "reference": "1717e0b3642b0df65ecb0cc89cdd99fa840672ff",
"shasum": ""
},
"require": {
@@ -2688,13 +2516,13 @@
"composer/semver": "^3.0",
"ext-fileinfo": "*",
"ext-ftp": "*",
- "ext-mongodb": "^1.3",
+ "ext-mongodb": "^1.3|^2",
"ext-zip": "*",
"friendsofphp/php-cs-fixer": "^3.5",
"google/cloud-storage": "^1.23",
"guzzlehttp/psr7": "^2.6",
"microsoft/azure-storage-blob": "^1.1",
- "mongodb/mongodb": "^1.2",
+ "mongodb/mongodb": "^1.2|^2",
"phpseclib/phpseclib": "^3.0.36",
"phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^9.5.11|^10.0",
@@ -2732,22 +2560,22 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/3.29.0"
+ "source": "https://github.com/thephpleague/flysystem/tree/3.31.0"
},
- "time": "2024-09-29T11:59:11+00:00"
+ "time": "2026-01-23T15:38:47+00:00"
},
{
"name": "league/flysystem-local",
- "version": "3.29.0",
+ "version": "3.31.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-local.git",
- "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27"
+ "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/e0e8d52ce4b2ed154148453d321e97c8e931bd27",
- "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27",
+ "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/2f669db18a4c20c755c2bb7d3a7b0b2340488079",
+ "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079",
"shasum": ""
},
"require": {
@@ -2781,9 +2609,9 @@
"local"
],
"support": {
- "source": "https://github.com/thephpleague/flysystem-local/tree/3.29.0"
+ "source": "https://github.com/thephpleague/flysystem-local/tree/3.31.0"
},
- "time": "2024-08-09T21:24:39+00:00"
+ "time": "2026-01-23T15:30:45+00:00"
},
{
"name": "league/mime-type-detection",
@@ -2843,16 +2671,16 @@
},
{
"name": "league/oauth1-client",
- "version": "v1.10.1",
+ "version": "v1.11.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/oauth1-client.git",
- "reference": "d6365b901b5c287dd41f143033315e2f777e1167"
+ "reference": "f9c94b088837eb1aae1ad7c4f23eb65cc6993055"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/d6365b901b5c287dd41f143033315e2f777e1167",
- "reference": "d6365b901b5c287dd41f143033315e2f777e1167",
+ "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/f9c94b088837eb1aae1ad7c4f23eb65cc6993055",
+ "reference": "f9c94b088837eb1aae1ad7c4f23eb65cc6993055",
"shasum": ""
},
"require": {
@@ -2913,180 +2741,9 @@
],
"support": {
"issues": "https://github.com/thephpleague/oauth1-client/issues",
- "source": "https://github.com/thephpleague/oauth1-client/tree/v1.10.1"
+ "source": "https://github.com/thephpleague/oauth1-client/tree/v1.11.0"
},
- "time": "2022-04-15T14:02:14+00:00"
- },
- {
- "name": "league/uri",
- "version": "6.8.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/uri.git",
- "reference": "a700b4656e4c54371b799ac61e300ab25a2d1d39"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri/zipball/a700b4656e4c54371b799ac61e300ab25a2d1d39",
- "reference": "a700b4656e4c54371b799ac61e300ab25a2d1d39",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "league/uri-interfaces": "^2.3",
- "php": "^8.1",
- "psr/http-message": "^1.0.1"
- },
- "conflict": {
- "league/uri-schemes": "^1.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^v3.9.5",
- "nyholm/psr7": "^1.5.1",
- "php-http/psr7-integration-tests": "^1.1.1",
- "phpbench/phpbench": "^1.2.6",
- "phpstan/phpstan": "^1.8.5",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.1.1",
- "phpstan/phpstan-strict-rules": "^1.4.3",
- "phpunit/phpunit": "^9.5.24",
- "psr/http-factory": "^1.0.1"
- },
- "suggest": {
- "ext-fileinfo": "Needed to create Data URI from a filepath",
- "ext-intl": "Needed to improve host validation",
- "league/uri-components": "Needed to easily manipulate URI objects",
- "psr/http-factory": "Needed to use the URI factory"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "League\\Uri\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ignace Nyamagana Butera",
- "email": "nyamsprod@gmail.com",
- "homepage": "https://nyamsprod.com"
- }
- ],
- "description": "URI manipulation library",
- "homepage": "https://uri.thephpleague.com",
- "keywords": [
- "data-uri",
- "file-uri",
- "ftp",
- "hostname",
- "http",
- "https",
- "middleware",
- "parse_str",
- "parse_url",
- "psr-7",
- "query-string",
- "querystring",
- "rfc3986",
- "rfc3987",
- "rfc6570",
- "uri",
- "uri-template",
- "url",
- "ws"
- ],
- "support": {
- "docs": "https://uri.thephpleague.com",
- "forum": "https://thephpleague.slack.com",
- "issues": "https://github.com/thephpleague/uri/issues",
- "source": "https://github.com/thephpleague/uri/tree/6.8.0"
- },
- "funding": [
- {
- "url": "https://github.com/sponsors/nyamsprod",
- "type": "github"
- }
- ],
- "time": "2022-09-13T19:58:47+00:00"
- },
- {
- "name": "league/uri-interfaces",
- "version": "2.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/uri-interfaces.git",
- "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/00e7e2943f76d8cb50c7dfdc2f6dee356e15e383",
- "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^2.19",
- "phpstan/phpstan": "^0.12.90",
- "phpstan/phpstan-phpunit": "^0.12.19",
- "phpstan/phpstan-strict-rules": "^0.12.9",
- "phpunit/phpunit": "^8.5.15 || ^9.5"
- },
- "suggest": {
- "ext-intl": "to use the IDNA feature",
- "symfony/intl": "to use the IDNA feature via Symfony Polyfill"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "League\\Uri\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ignace Nyamagana Butera",
- "email": "nyamsprod@gmail.com",
- "homepage": "https://nyamsprod.com"
- }
- ],
- "description": "Common interface for URI representation",
- "homepage": "http://github.com/thephpleague/uri-interfaces",
- "keywords": [
- "rfc3986",
- "rfc3987",
- "uri",
- "url"
- ],
- "support": {
- "issues": "https://github.com/thephpleague/uri-interfaces/issues",
- "source": "https://github.com/thephpleague/uri-interfaces/tree/2.3.0"
- },
- "funding": [
- {
- "url": "https://github.com/sponsors/nyamsprod",
- "type": "github"
- }
- ],
- "time": "2021-06-28T04:27:21+00:00"
+ "time": "2024-12-10T19:59:05+00:00"
},
{
"name": "livewire/livewire",
@@ -3122,12 +2779,12 @@
"type": "library",
"extra": {
"laravel": {
- "providers": [
- "Livewire\\LivewireServiceProvider"
- ],
"aliases": {
"Livewire": "Livewire\\Livewire"
- }
+ },
+ "providers": [
+ "Livewire\\LivewireServiceProvider"
+ ]
}
},
"autoload": {
@@ -3163,16 +2820,16 @@
},
{
"name": "monolog/monolog",
- "version": "2.9.3",
+ "version": "2.11.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215"
+ "reference": "37308608e599f34a1a4845b16440047ec98a172a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/a30bfe2e142720dfa990d0a7e573997f5d884215",
- "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/37308608e599f34a1a4845b16440047ec98a172a",
+ "reference": "37308608e599f34a1a4845b16440047ec98a172a",
"shasum": ""
},
"require": {
@@ -3190,7 +2847,7 @@
"graylog2/gelf-php": "^1.4.2 || ^2@dev",
"guzzlehttp/guzzle": "^7.4",
"guzzlehttp/psr7": "^2.2",
- "mongodb/mongodb": "^1.8",
+ "mongodb/mongodb": "^1.8 || ^2.0",
"php-amqplib/php-amqplib": "~2.4 || ^3",
"phpspec/prophecy": "^1.15",
"phpstan/phpstan": "^1.10",
@@ -3249,7 +2906,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/2.9.3"
+ "source": "https://github.com/Seldaek/monolog/tree/2.11.0"
},
"funding": [
{
@@ -3261,20 +2918,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-12T20:52:51+00:00"
+ "time": "2026-01-01T13:05:00+00:00"
},
{
"name": "nesbot/carbon",
- "version": "2.72.5",
+ "version": "2.73.0",
"source": {
"type": "git",
- "url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed"
+ "url": "https://github.com/CarbonPHP/carbon.git",
+ "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed",
- "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/9228ce90e1035ff2f0db84b40ec2e023ed802075",
+ "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075",
"shasum": ""
},
"require": {
@@ -3294,7 +2951,7 @@
"doctrine/orm": "^2.7 || ^3.0",
"friendsofphp/php-cs-fixer": "^3.0",
"kylekatarnls/multi-tester": "^2.0",
- "ondrejmirtes/better-reflection": "*",
+ "ondrejmirtes/better-reflection": "<6",
"phpmd/phpmd": "^2.9",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^0.12.99 || ^1.7.14",
@@ -3307,10 +2964,6 @@
],
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "3.x-dev",
- "dev-2.x": "2.x-dev"
- },
"laravel": {
"providers": [
"Carbon\\Laravel\\ServiceProvider"
@@ -3320,6 +2973,10 @@
"includes": [
"extension.neon"
]
+ },
+ "branch-alias": {
+ "dev-2.x": "2.x-dev",
+ "dev-master": "3.x-dev"
}
},
"autoload": {
@@ -3368,29 +3025,29 @@
"type": "tidelift"
}
],
- "time": "2024-06-03T19:18:41+00:00"
+ "time": "2025-01-08T20:10:23+00:00"
},
{
"name": "nette/schema",
- "version": "v1.3.2",
+ "version": "v1.3.3",
"source": {
"type": "git",
"url": "https://github.com/nette/schema.git",
- "reference": "da801d52f0354f70a638673c4a0f04e16529431d"
+ "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d",
- "reference": "da801d52f0354f70a638673c4a0f04e16529431d",
+ "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004",
+ "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004",
"shasum": ""
},
"require": {
"nette/utils": "^4.0",
- "php": "8.1 - 8.4"
+ "php": "8.1 - 8.5"
},
"require-dev": {
"nette/tester": "^2.5.2",
- "phpstan/phpstan-nette": "^1.0",
+ "phpstan/phpstan-nette": "^2.0@stable",
"tracy/tracy": "^2.8"
},
"type": "library",
@@ -3400,6 +3057,9 @@
}
},
"autoload": {
+ "psr-4": {
+ "Nette\\": "src"
+ },
"classmap": [
"src/"
]
@@ -3428,35 +3088,35 @@
],
"support": {
"issues": "https://github.com/nette/schema/issues",
- "source": "https://github.com/nette/schema/tree/v1.3.2"
+ "source": "https://github.com/nette/schema/tree/v1.3.3"
},
- "time": "2024-10-06T23:10:23+00:00"
+ "time": "2025-10-30T22:57:59+00:00"
},
{
"name": "nette/utils",
- "version": "v4.0.5",
+ "version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
- "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96"
+ "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/utils/zipball/736c567e257dbe0fcf6ce81b4d6dbe05c6899f96",
- "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96",
+ "url": "https://api.github.com/repos/nette/utils/zipball/c99059c0315591f1a0db7ad6002000288ab8dc72",
+ "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72",
"shasum": ""
},
"require": {
- "php": "8.0 - 8.4"
+ "php": "8.2 - 8.5"
},
"conflict": {
"nette/finder": "<3",
"nette/schema": "<1.2.2"
},
"require-dev": {
- "jetbrains/phpstorm-attributes": "dev-master",
+ "jetbrains/phpstorm-attributes": "^1.2",
"nette/tester": "^2.5",
- "phpstan/phpstan": "^1.0",
+ "phpstan/phpstan-nette": "^2.0@stable",
"tracy/tracy": "^2.9"
},
"suggest": {
@@ -3470,10 +3130,13 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "4.1-dev"
}
},
"autoload": {
+ "psr-4": {
+ "Nette\\": "src"
+ },
"classmap": [
"src/"
]
@@ -3514,22 +3177,22 @@
],
"support": {
"issues": "https://github.com/nette/utils/issues",
- "source": "https://github.com/nette/utils/tree/v4.0.5"
+ "source": "https://github.com/nette/utils/tree/v4.1.1"
},
- "time": "2024-08-07T15:39:19+00:00"
+ "time": "2025-12-22T12:14:32+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v5.3.0",
+ "version": "v5.7.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "3abf7425cd284141dc5d8d14a9ee444de3345d1a"
+ "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3abf7425cd284141dc5d8d14a9ee444de3345d1a",
- "reference": "3abf7425cd284141dc5d8d14a9ee444de3345d1a",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82",
+ "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82",
"shasum": ""
},
"require": {
@@ -3548,7 +3211,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-master": "5.x-dev"
}
},
"autoload": {
@@ -3572,39 +3235,38 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.0"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0"
},
- "time": "2024-09-29T13:56:26+00:00"
+ "time": "2025-12-06T11:56:16+00:00"
},
{
"name": "nunomaduro/termwind",
- "version": "v1.15.1",
+ "version": "v1.17.0",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/termwind.git",
- "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc"
+ "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc",
- "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc",
+ "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301",
+ "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": "^8.0",
- "symfony/console": "^5.3.0|^6.0.0"
+ "php": "^8.1",
+ "symfony/console": "^6.4.15"
},
"require-dev": {
- "ergebnis/phpstan-rules": "^1.0.",
- "illuminate/console": "^8.0|^9.0",
- "illuminate/support": "^8.0|^9.0",
- "laravel/pint": "^1.0.0",
- "pestphp/pest": "^1.21.0",
- "pestphp/pest-plugin-mock": "^1.0",
- "phpstan/phpstan": "^1.4.6",
- "phpstan/phpstan-strict-rules": "^1.1.0",
- "symfony/var-dumper": "^5.2.7|^6.0.0",
+ "illuminate/console": "^10.48.24",
+ "illuminate/support": "^10.48.24",
+ "laravel/pint": "^1.18.2",
+ "pestphp/pest": "^2.36.0",
+ "pestphp/pest-plugin-mock": "2.0.0",
+ "phpstan/phpstan": "^1.12.11",
+ "phpstan/phpstan-strict-rules": "^1.6.1",
+ "symfony/var-dumper": "^6.4.15",
"thecodingmachine/phpstan-strict-rules": "^1.0.0"
},
"type": "library",
@@ -3644,7 +3306,7 @@
],
"support": {
"issues": "https://github.com/nunomaduro/termwind/issues",
- "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1"
+ "source": "https://github.com/nunomaduro/termwind/tree/v1.17.0"
},
"funding": [
{
@@ -3660,28 +3322,30 @@
"type": "github"
}
],
- "time": "2023-02-08T01:06:31+00:00"
+ "time": "2024-11-21T10:36:35+00:00"
},
{
"name": "paragonie/constant_time_encoding",
- "version": "v3.0.0",
+ "version": "v3.1.3",
"source": {
"type": "git",
"url": "https://github.com/paragonie/constant_time_encoding.git",
- "reference": "df1e7fde177501eee2037dd159cf04f5f301a512"
+ "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512",
- "reference": "df1e7fde177501eee2037dd159cf04f5f301a512",
+ "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77",
+ "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77",
"shasum": ""
},
"require": {
"php": "^8"
},
"require-dev": {
- "phpunit/phpunit": "^9",
- "vimeo/psalm": "^4|^5"
+ "infection/infection": "^0",
+ "nikic/php-fuzzer": "^0",
+ "phpunit/phpunit": "^9|^10|^11",
+ "vimeo/psalm": "^4|^5|^6"
},
"type": "library",
"autoload": {
@@ -3727,7 +3391,7 @@
"issues": "https://github.com/paragonie/constant_time_encoding/issues",
"source": "https://github.com/paragonie/constant_time_encoding"
},
- "time": "2024-05-08T12:36:18+00:00"
+ "time": "2025-09-24T15:06:41+00:00"
},
{
"name": "paragonie/random_compat",
@@ -3781,16 +3445,16 @@
},
{
"name": "phpoption/phpoption",
- "version": "1.9.3",
+ "version": "1.9.5",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
- "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54"
+ "reference": "75365b91986c2405cf5e1e012c5595cd487a98be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54",
- "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be",
+ "reference": "75365b91986c2405cf5e1e012c5595cd487a98be",
"shasum": ""
},
"require": {
@@ -3798,7 +3462,7 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
+ "phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34"
},
"type": "library",
"extra": {
@@ -3840,7 +3504,7 @@
],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
- "source": "https://github.com/schmittjoh/php-option/tree/1.9.3"
+ "source": "https://github.com/schmittjoh/php-option/tree/1.9.5"
},
"funding": [
{
@@ -3852,20 +3516,20 @@
"type": "tidelift"
}
],
- "time": "2024-07-20T21:41:07+00:00"
+ "time": "2025-12-27T19:41:33+00:00"
},
{
"name": "phpseclib/phpseclib",
- "version": "3.0.42",
+ "version": "3.0.48",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "db92f1b1987b12b13f248fe76c3a52cadb67bb98"
+ "reference": "64065a5679c50acb886e82c07aa139b0f757bb89"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/db92f1b1987b12b13f248fe76c3a52cadb67bb98",
- "reference": "db92f1b1987b12b13f248fe76c3a52cadb67bb98",
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/64065a5679c50acb886e82c07aa139b0f757bb89",
+ "reference": "64065a5679c50acb886e82c07aa139b0f757bb89",
"shasum": ""
},
"require": {
@@ -3946,7 +3610,7 @@
],
"support": {
"issues": "https://github.com/phpseclib/phpseclib/issues",
- "source": "https://github.com/phpseclib/phpseclib/tree/3.0.42"
+ "source": "https://github.com/phpseclib/phpseclib/tree/3.0.48"
},
"funding": [
{
@@ -3962,165 +3626,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-16T03:06:04+00:00"
- },
- {
- "name": "phpstan/extension-installer",
- "version": "1.4.3",
- "source": {
- "type": "git",
- "url": "https://github.com/phpstan/extension-installer.git",
- "reference": "85e90b3942d06b2326fba0403ec24fe912372936"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936",
- "reference": "85e90b3942d06b2326fba0403ec24fe912372936",
- "shasum": ""
- },
- "require": {
- "composer-plugin-api": "^2.0",
- "php": "^7.2 || ^8.0",
- "phpstan/phpstan": "^1.9.0 || ^2.0"
- },
- "require-dev": {
- "composer/composer": "^2.0",
- "php-parallel-lint/php-parallel-lint": "^1.2.0",
- "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0"
- },
- "type": "composer-plugin",
- "extra": {
- "class": "PHPStan\\ExtensionInstaller\\Plugin"
- },
- "autoload": {
- "psr-4": {
- "PHPStan\\ExtensionInstaller\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Composer plugin for automatic installation of PHPStan extensions",
- "keywords": [
- "dev",
- "static analysis"
- ],
- "support": {
- "issues": "https://github.com/phpstan/extension-installer/issues",
- "source": "https://github.com/phpstan/extension-installer/tree/1.4.3"
- },
- "time": "2024-09-04T20:21:43+00:00"
- },
- {
- "name": "phpstan/phpstan",
- "version": "1.12.6",
- "source": {
- "type": "git",
- "url": "https://github.com/phpstan/phpstan.git",
- "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc4d2f145a88ea7141ae698effd64d9df46527ae",
- "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae",
- "shasum": ""
- },
- "require": {
- "php": "^7.2|^8.0"
- },
- "conflict": {
- "phpstan/phpstan-shim": "*"
- },
- "bin": [
- "phpstan",
- "phpstan.phar"
- ],
- "type": "library",
- "autoload": {
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "PHPStan - PHP Static Analysis Tool",
- "keywords": [
- "dev",
- "static analysis"
- ],
- "support": {
- "docs": "https://phpstan.org/user-guide/getting-started",
- "forum": "https://github.com/phpstan/phpstan/discussions",
- "issues": "https://github.com/phpstan/phpstan/issues",
- "security": "https://github.com/phpstan/phpstan/security/policy",
- "source": "https://github.com/phpstan/phpstan-src"
- },
- "funding": [
- {
- "url": "https://github.com/ondrejmirtes",
- "type": "github"
- },
- {
- "url": "https://github.com/phpstan",
- "type": "github"
- }
- ],
- "time": "2024-10-06T15:03:59+00:00"
- },
- {
- "name": "phpstan/phpstan-phpunit",
- "version": "1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpstan/phpstan-phpunit.git",
- "reference": "f3ea021866f4263f07ca3636bf22c64be9610c11"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/f3ea021866f4263f07ca3636bf22c64be9610c11",
- "reference": "f3ea021866f4263f07ca3636bf22c64be9610c11",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0",
- "phpstan/phpstan": "^1.11"
- },
- "conflict": {
- "phpunit/phpunit": "<7.0"
- },
- "require-dev": {
- "nikic/php-parser": "^4.13.0",
- "php-parallel-lint/php-parallel-lint": "^1.2",
- "phpstan/phpstan-strict-rules": "^1.5.1",
- "phpunit/phpunit": "^9.5"
- },
- "type": "phpstan-extension",
- "extra": {
- "phpstan": {
- "includes": [
- "extension.neon",
- "rules.neon"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "PHPStan\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "PHPUnit extensions and rules for PHPStan",
- "support": {
- "issues": "https://github.com/phpstan/phpstan-phpunit/issues",
- "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.4.0"
- },
- "time": "2024-04-20T06:39:00+00:00"
+ "time": "2025-12-15T11:51:42+00:00"
},
{
"name": "psr/cache",
@@ -4431,16 +3937,16 @@
},
{
"name": "psr/http-message",
- "version": "1.1",
+ "version": "2.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
- "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba"
+ "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
- "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
+ "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
"shasum": ""
},
"require": {
@@ -4449,7 +3955,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
@@ -4464,7 +3970,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
@@ -4478,9 +3984,9 @@
"response"
],
"support": {
- "source": "https://github.com/php-fig/http-message/tree/1.1"
+ "source": "https://github.com/php-fig/http-message/tree/2.0"
},
- "time": "2023-04-04T09:50:52+00:00"
+ "time": "2023-04-04T09:54:51+00:00"
},
{
"name": "psr/log",
@@ -4585,16 +4091,16 @@
},
{
"name": "psy/psysh",
- "version": "v0.12.4",
+ "version": "v0.12.18",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "2fd717afa05341b4f8152547f142cd2f130f6818"
+ "reference": "ddff0ac01beddc251786fe70367cd8bbdb258196"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818",
- "reference": "2fd717afa05341b4f8152547f142cd2f130f6818",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/ddff0ac01beddc251786fe70367cd8bbdb258196",
+ "reference": "ddff0ac01beddc251786fe70367cd8bbdb258196",
"shasum": ""
},
"require": {
@@ -4602,18 +4108,19 @@
"ext-tokenizer": "*",
"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"
+ "symfony/console": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4",
+ "symfony/var-dumper": "^8.0 || ^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"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.2"
+ "bamarni/composer-bin-plugin": "^1.2",
+ "composer/class-map-generator": "^1.6"
},
"suggest": {
+ "composer/class-map-generator": "Improved tab completion performance with better class discovery.",
"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."
},
"bin": [
@@ -4621,12 +4128,12 @@
],
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "0.12.x-dev"
- },
"bamarni-bin": {
"bin-links": false,
"forward-command": false
+ },
+ "branch-alias": {
+ "dev-main": "0.12.x-dev"
}
},
"autoload": {
@@ -4644,12 +4151,11 @@
"authors": [
{
"name": "Justin Hileman",
- "email": "justin@justinhileman.info",
- "homepage": "http://justinhileman.com"
+ "email": "justin@justinhileman.info"
}
],
"description": "An interactive shell for modern PHP.",
- "homepage": "http://psysh.org",
+ "homepage": "https://psysh.org",
"keywords": [
"REPL",
"console",
@@ -4658,9 +4164,9 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/v0.12.4"
+ "source": "https://github.com/bobthecow/psysh/tree/v0.12.18"
},
- "time": "2024-06-10T01:18:23+00:00"
+ "time": "2025-12-17T14:35:46+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -4708,16 +4214,16 @@
},
{
"name": "ramsey/collection",
- "version": "2.0.0",
+ "version": "2.1.1",
"source": {
"type": "git",
"url": "https://github.com/ramsey/collection.git",
- "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5"
+ "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5",
- "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5",
+ "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2",
+ "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2",
"shasum": ""
},
"require": {
@@ -4725,25 +4231,22 @@
},
"require-dev": {
"captainhook/plugin-composer": "^5.3",
- "ergebnis/composer-normalize": "^2.28.3",
- "fakerphp/faker": "^1.21",
+ "ergebnis/composer-normalize": "^2.45",
+ "fakerphp/faker": "^1.24",
"hamcrest/hamcrest-php": "^2.0",
- "jangregor/phpstan-prophecy": "^1.0",
- "mockery/mockery": "^1.5",
+ "jangregor/phpstan-prophecy": "^2.1",
+ "mockery/mockery": "^1.6",
"php-parallel-lint/php-console-highlighter": "^1.0",
- "php-parallel-lint/php-parallel-lint": "^1.3",
- "phpcsstandards/phpcsutils": "^1.0.0-rc1",
- "phpspec/prophecy-phpunit": "^2.0",
- "phpstan/extension-installer": "^1.2",
- "phpstan/phpstan": "^1.9",
- "phpstan/phpstan-mockery": "^1.1",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5",
- "psalm/plugin-mockery": "^1.1",
- "psalm/plugin-phpunit": "^0.18.4",
- "ramsey/coding-standard": "^2.0.3",
- "ramsey/conventional-commits": "^1.3",
- "vimeo/psalm": "^5.4"
+ "php-parallel-lint/php-parallel-lint": "^1.4",
+ "phpspec/prophecy-phpunit": "^2.3",
+ "phpstan/extension-installer": "^1.4",
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-mockery": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^10.5",
+ "ramsey/coding-standard": "^2.3",
+ "ramsey/conventional-commits": "^1.6",
+ "roave/security-advisories": "dev-latest"
},
"type": "library",
"extra": {
@@ -4781,37 +4284,26 @@
],
"support": {
"issues": "https://github.com/ramsey/collection/issues",
- "source": "https://github.com/ramsey/collection/tree/2.0.0"
+ "source": "https://github.com/ramsey/collection/tree/2.1.1"
},
- "funding": [
- {
- "url": "https://github.com/ramsey",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/ramsey/collection",
- "type": "tidelift"
- }
- ],
- "time": "2022-12-31T21:50:55+00:00"
+ "time": "2025-03-22T05:38:12+00:00"
},
{
"name": "ramsey/uuid",
- "version": "4.7.6",
+ "version": "4.9.2",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
- "reference": "91039bc1faa45ba123c4328958e620d382ec7088"
+ "reference": "8429c78ca35a09f27565311b98101e2826affde0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088",
- "reference": "91039bc1faa45ba123c4328958e620d382ec7088",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0",
+ "reference": "8429c78ca35a09f27565311b98101e2826affde0",
"shasum": ""
},
"require": {
- "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12",
- "ext-json": "*",
+ "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14",
"php": "^8.0",
"ramsey/collection": "^1.2 || ^2.0"
},
@@ -4819,26 +4311,23 @@
"rhumsaa/uuid": "self.version"
},
"require-dev": {
- "captainhook/captainhook": "^5.10",
+ "captainhook/captainhook": "^5.25",
"captainhook/plugin-composer": "^5.3",
- "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
- "doctrine/annotations": "^1.8",
- "ergebnis/composer-normalize": "^2.15",
- "mockery/mockery": "^1.3",
+ "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
+ "ergebnis/composer-normalize": "^2.47",
+ "mockery/mockery": "^1.6",
"paragonie/random-lib": "^2",
- "php-mock/php-mock": "^2.2",
- "php-mock/php-mock-mockery": "^1.3",
- "php-parallel-lint/php-parallel-lint": "^1.1",
- "phpbench/phpbench": "^1.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-mockery": "^1.1",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpunit/phpunit": "^8.5 || ^9",
- "ramsey/composer-repl": "^1.4",
- "slevomat/coding-standard": "^8.4",
- "squizlabs/php_codesniffer": "^3.5",
- "vimeo/psalm": "^4.9"
+ "php-mock/php-mock": "^2.6",
+ "php-mock/php-mock-mockery": "^1.5",
+ "php-parallel-lint/php-parallel-lint": "^1.4.0",
+ "phpbench/phpbench": "^1.2.14",
+ "phpstan/extension-installer": "^1.4",
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-mockery": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.6",
+ "slevomat/coding-standard": "^8.18",
+ "squizlabs/php_codesniffer": "^3.13"
},
"suggest": {
"ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.",
@@ -4873,19 +4362,9 @@
],
"support": {
"issues": "https://github.com/ramsey/uuid/issues",
- "source": "https://github.com/ramsey/uuid/tree/4.7.6"
+ "source": "https://github.com/ramsey/uuid/tree/4.9.2"
},
- "funding": [
- {
- "url": "https://github.com/ramsey",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid",
- "type": "tidelift"
- }
- ],
- "time": "2024-04-27T21:32:50+00:00"
+ "time": "2025-12-14T04:43:48+00:00"
},
{
"name": "rappasoft/laravel-livewire-tables",
@@ -4989,12 +4468,12 @@
"type": "library",
"extra": {
"laravel": {
- "providers": [
- "SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider"
- ],
"aliases": {
"QrCode": "SimpleSoftwareIO\\QrCode\\Facades\\QrCode"
- }
+ },
+ "providers": [
+ "SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider"
+ ]
}
},
"autoload": {
@@ -5029,21 +4508,21 @@
},
{
"name": "spatie/db-dumper",
- "version": "3.7.0",
+ "version": "3.8.3",
"source": {
"type": "git",
"url": "https://github.com/spatie/db-dumper.git",
- "reference": "22553ab8c34a9bb70645cb9bc2d9f236f3135705"
+ "reference": "eac3221fbe27fac51f388600d27b67b1b079406e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/db-dumper/zipball/22553ab8c34a9bb70645cb9bc2d9f236f3135705",
- "reference": "22553ab8c34a9bb70645cb9bc2d9f236f3135705",
+ "url": "https://api.github.com/repos/spatie/db-dumper/zipball/eac3221fbe27fac51f388600d27b67b1b079406e",
+ "reference": "eac3221fbe27fac51f388600d27b67b1b079406e",
"shasum": ""
},
"require": {
"php": "^8.0",
- "symfony/process": "^5.0|^6.0|^7.0"
+ "symfony/process": "^5.0|^6.0|^7.0|^8.0"
},
"require-dev": {
"pestphp/pest": "^1.22"
@@ -5076,7 +4555,7 @@
"spatie"
],
"support": {
- "source": "https://github.com/spatie/db-dumper/tree/3.7.0"
+ "source": "https://github.com/spatie/db-dumper/tree/3.8.3"
},
"funding": [
{
@@ -5088,7 +4567,7 @@
"type": "github"
}
],
- "time": "2024-09-23T08:58:35+00:00"
+ "time": "2026-01-05T16:26:03+00:00"
},
{
"name": "spatie/laravel-backup",
@@ -5191,28 +4670,29 @@
},
{
"name": "spatie/laravel-package-tools",
- "version": "1.16.5",
+ "version": "1.92.7",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-package-tools.git",
- "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2"
+ "reference": "f09a799850b1ed765103a4f0b4355006360c49a5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/c7413972cf22ffdff97b68499c22baa04eddb6a2",
- "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2",
+ "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f09a799850b1ed765103a4f0b4355006360c49a5",
+ "reference": "f09a799850b1ed765103a4f0b4355006360c49a5",
"shasum": ""
},
"require": {
- "illuminate/contracts": "^9.28|^10.0|^11.0",
+ "illuminate/contracts": "^9.28|^10.0|^11.0|^12.0",
"php": "^8.0"
},
"require-dev": {
"mockery/mockery": "^1.5",
- "orchestra/testbench": "^7.7|^8.0",
- "pestphp/pest": "^1.22",
- "phpunit/phpunit": "^9.5.24",
- "spatie/pest-plugin-test-time": "^1.1"
+ "orchestra/testbench": "^7.7|^8.0|^9.0|^10.0",
+ "pestphp/pest": "^1.23|^2.1|^3.1",
+ "phpunit/php-code-coverage": "^9.0|^10.0|^11.0",
+ "phpunit/phpunit": "^9.5.24|^10.5|^11.5",
+ "spatie/pest-plugin-test-time": "^1.1|^2.2"
},
"type": "library",
"autoload": {
@@ -5239,7 +4719,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-package-tools/issues",
- "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.5"
+ "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.7"
},
"funding": [
{
@@ -5247,31 +4727,31 @@
"type": "github"
}
],
- "time": "2024-08-27T18:56:10+00:00"
+ "time": "2025-07-17T15:46:43+00:00"
},
{
"name": "spatie/laravel-referer",
- "version": "1.9.0",
+ "version": "1.9.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-referer.git",
- "reference": "127ad9752f7bca860291ce38873d0985bd831b7c"
+ "reference": "0f37bc6509483ae0f729a6f97ac96f1f8f009c72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-referer/zipball/127ad9752f7bca860291ce38873d0985bd831b7c",
- "reference": "127ad9752f7bca860291ce38873d0985bd831b7c",
+ "url": "https://api.github.com/repos/spatie/laravel-referer/zipball/0f37bc6509483ae0f729a6f97ac96f1f8f009c72",
+ "reference": "0f37bc6509483ae0f729a6f97ac96f1f8f009c72",
"shasum": ""
},
"require": {
- "illuminate/contracts": "^8.73|^9.0|^10.0|^11.0",
- "illuminate/http": "^8.73|^9.0|^10.0|^11.0",
- "illuminate/support": "^8.73|^9.0|^10.0|^11.0",
+ "illuminate/contracts": "^8.73|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/http": "^8.73|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/support": "^8.73|^9.0|^10.0|^11.0|^12.0",
"php": "^7.4|^8.0"
},
"require-dev": {
- "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0",
- "phpunit/phpunit": "^9.5|^10.5"
+ "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0|^10.0",
+ "phpunit/phpunit": "^9.5|^10.5|^11.5.3"
},
"type": "library",
"extra": {
@@ -5306,7 +4786,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-referer/issues",
- "source": "https://github.com/spatie/laravel-referer/tree/1.9.0"
+ "source": "https://github.com/spatie/laravel-referer/tree/1.9.1"
},
"funding": [
{
@@ -5318,7 +4798,7 @@
"type": "github"
}
],
- "time": "2024-04-08T07:56:33+00:00"
+ "time": "2025-02-20T13:41:02+00:00"
},
{
"name": "spatie/laravel-signal-aware-command",
@@ -5351,12 +4831,12 @@
"type": "library",
"extra": {
"laravel": {
- "providers": [
- "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider"
- ],
"aliases": {
"Signal": "Spatie\\SignalAwareCommand\\Facades\\Signal"
- }
+ },
+ "providers": [
+ "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider"
+ ]
}
},
"autoload": {
@@ -5396,16 +4876,16 @@
},
{
"name": "spatie/temporary-directory",
- "version": "2.2.1",
+ "version": "2.3.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/temporary-directory.git",
- "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a"
+ "reference": "662e481d6ec07ef29fd05010433428851a42cd07"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a",
- "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a",
+ "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/662e481d6ec07ef29fd05010433428851a42cd07",
+ "reference": "662e481d6ec07ef29fd05010433428851a42cd07",
"shasum": ""
},
"require": {
@@ -5441,7 +4921,7 @@
],
"support": {
"issues": "https://github.com/spatie/temporary-directory/issues",
- "source": "https://github.com/spatie/temporary-directory/tree/2.2.1"
+ "source": "https://github.com/spatie/temporary-directory/tree/2.3.1"
},
"funding": [
{
@@ -5453,20 +4933,20 @@
"type": "github"
}
],
- "time": "2023-12-25T11:46:58+00:00"
+ "time": "2026-01-12T07:42:22+00:00"
},
{
"name": "symfony/console",
- "version": "v6.4.12",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765"
+ "reference": "0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/72d080eb9edf80e36c19be61f72c98ed8273b765",
- "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765",
+ "url": "https://api.github.com/repos/symfony/console/zipball/0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3",
+ "reference": "0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3",
"shasum": ""
},
"require": {
@@ -5531,7 +5011,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.4.12"
+ "source": "https://github.com/symfony/console/tree/v6.4.32"
},
"funding": [
{
@@ -5542,25 +5022,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-20T08:15:52+00:00"
+ "time": "2026-01-13T08:45:59+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v7.1.1",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4"
+ "reference": "ab862f478513e7ca2fe9ec117a6f01a8da6e1135"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4",
- "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/ab862f478513e7ca2fe9ec117a6f01a8da6e1135",
+ "reference": "ab862f478513e7ca2fe9ec117a6f01a8da6e1135",
"shasum": ""
},
"require": {
@@ -5596,7 +5080,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v7.1.1"
+ "source": "https://github.com/symfony/css-selector/tree/v7.4.0"
},
"funding": [
{
@@ -5607,25 +5091,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-05-31T14:57:53+00:00"
+ "time": "2025-10-30T13:39:42+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.5.0",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
+ "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
- "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
+ "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
"shasum": ""
},
"require": {
@@ -5633,12 +5121,12 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "3.5-dev"
- },
"thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
+ "branch-alias": {
+ "dev-main": "3.6-dev"
}
},
"autoload": {
@@ -5663,7 +5151,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.5.0"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -5679,20 +5167,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:32:20+00:00"
+ "time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v6.4.10",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "231f1b2ee80f72daa1972f7340297d67439224f0"
+ "reference": "8c18400784fcb014dc73c8d5601a9576af7f8ad4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0",
- "reference": "231f1b2ee80f72daa1972f7340297d67439224f0",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/8c18400784fcb014dc73c8d5601a9576af7f8ad4",
+ "reference": "8c18400784fcb014dc73c8d5601a9576af7f8ad4",
"shasum": ""
},
"require": {
@@ -5738,7 +5226,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.4.10"
+ "source": "https://github.com/symfony/error-handler/tree/v6.4.32"
},
"funding": [
{
@@ -5749,25 +5237,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-07-26T12:30:32+00:00"
+ "time": "2026-01-19T19:28:19+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v7.1.1",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7"
+ "reference": "dc2c0eba1af673e736bb851d747d266108aea746"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
- "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dc2c0eba1af673e736bb851d747d266108aea746",
+ "reference": "dc2c0eba1af673e736bb851d747d266108aea746",
"shasum": ""
},
"require": {
@@ -5784,13 +5276,14 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "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/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/error-handler": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/framework-bundle": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/stopwatch": "^6.4|^7.0"
+ "symfony/stopwatch": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -5818,7 +5311,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/v7.1.1"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.4"
},
"funding": [
{
@@ -5829,25 +5322,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-05-31T14:57:53+00:00"
+ "time": "2026-01-05T11:45:34+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v3.5.0",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50"
+ "reference": "59eb412e93815df44f05f342958efa9f46b1e586"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50",
- "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586",
+ "reference": "59eb412e93815df44f05f342958efa9f46b1e586",
"shasum": ""
},
"require": {
@@ -5856,12 +5353,12 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "3.5-dev"
- },
"thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
+ "branch-alias": {
+ "dev-main": "3.6-dev"
}
},
"autoload": {
@@ -5894,7 +5391,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -5910,20 +5407,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:32:20+00:00"
+ "time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/finder",
- "version": "v6.4.11",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453"
+ "reference": "3ec24885c1d9ababbb9c8f63bb42fea3c8c9b6de"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453",
- "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/3ec24885c1d9ababbb9c8f63bb42fea3c8c9b6de",
+ "reference": "3ec24885c1d9ababbb9c8f63bb42fea3c8c9b6de",
"shasum": ""
},
"require": {
@@ -5958,7 +5455,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v6.4.11"
+ "source": "https://github.com/symfony/finder/tree/v6.4.32"
},
"funding": [
{
@@ -5969,32 +5466,36 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-08-13T14:27:37+00:00"
+ "time": "2026-01-10T14:09:00+00:00"
},
{
"name": "symfony/http-client",
- "version": "v5.4.44",
+ "version": "v5.4.49",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04"
+ "reference": "d77d8e212cde7b5c4a64142bf431522f19487c28"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04",
- "reference": "58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/d77d8e212cde7b5c4a64142bf431522f19487c28",
+ "reference": "d77d8e212cde7b5c4a64142bf431522f19487c28",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-client-contracts": "^2.5.3",
+ "symfony/http-client-contracts": "^2.5.4",
"symfony/polyfill-php73": "^1.11",
"symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.0|^2|^3"
@@ -6049,7 +5550,7 @@
"http"
],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v5.4.44"
+ "source": "https://github.com/symfony/http-client/tree/v5.4.49"
},
"funding": [
{
@@ -6065,20 +5566,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-16T14:04:28+00:00"
+ "time": "2024-11-28T08:37:04+00:00"
},
{
"name": "symfony/http-client-contracts",
- "version": "v2.5.3",
+ "version": "v2.5.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1"
+ "reference": "48ef1d0a082885877b664332b9427662065a360c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1",
- "reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1",
+ "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/48ef1d0a082885877b664332b9427662065a360c",
+ "reference": "48ef1d0a082885877b664332b9427662065a360c",
"shasum": ""
},
"require": {
@@ -6089,12 +5590,12 @@
},
"type": "library",
"extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
"branch-alias": {
"dev-main": "2.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -6127,7 +5628,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.3"
+ "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.5"
},
"funding": [
{
@@ -6143,20 +5644,20 @@
"type": "tidelift"
}
],
- "time": "2024-03-26T19:42:53+00:00"
+ "time": "2024-11-28T08:37:04+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v6.4.12",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "133ac043875f59c26c55e79cf074562127cce4d2"
+ "reference": "a7c652d0d0a6be8fbf9dead2e36f31e46c482adf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/133ac043875f59c26c55e79cf074562127cce4d2",
- "reference": "133ac043875f59c26c55e79cf074562127cce4d2",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a7c652d0d0a6be8fbf9dead2e36f31e46c482adf",
+ "reference": "a7c652d0d0a6be8fbf9dead2e36f31e46c482adf",
"shasum": ""
},
"require": {
@@ -6166,12 +5667,12 @@
"symfony/polyfill-php83": "^1.27"
},
"conflict": {
- "symfony/cache": "<6.3"
+ "symfony/cache": "<6.4.12|>=7.0,<7.1.5"
},
"require-dev": {
"doctrine/dbal": "^2.13.1|^3|^4",
"predis/predis": "^1.1|^2.0",
- "symfony/cache": "^6.3|^7.0",
+ "symfony/cache": "^6.4.12|^7.1.5",
"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",
@@ -6204,7 +5705,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.4.12"
+ "source": "https://github.com/symfony/http-foundation/tree/v6.4.32"
},
"funding": [
{
@@ -6215,25 +5716,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-20T08:18:25+00:00"
+ "time": "2026-01-09T09:10:39+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v6.4.12",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "96df83d51b5f78804f70c093b97310794fd6257b"
+ "reference": "e40d93fce00d928a553ba0f323da4b3f8506f858"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/96df83d51b5f78804f70c093b97310794fd6257b",
- "reference": "96df83d51b5f78804f70c093b97310794fd6257b",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e40d93fce00d928a553ba0f323da4b3f8506f858",
+ "reference": "e40d93fce00d928a553ba0f323da4b3f8506f858",
"shasum": ""
},
"require": {
@@ -6318,7 +5823,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.4.12"
+ "source": "https://github.com/symfony/http-kernel/tree/v6.4.32"
},
"funding": [
{
@@ -6329,25 +5834,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-21T06:02:57+00:00"
+ "time": "2026-01-24T16:04:03+00:00"
},
{
"name": "symfony/mailer",
- "version": "v6.4.12",
+ "version": "v6.4.31",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26"
+ "reference": "8835f93333474780fda1b987cae37e33c3e026ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/b6a25408c569ae2366b3f663a4edad19420a9c26",
- "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/8835f93333474780fda1b987cae37e33c3e026ca",
+ "reference": "8835f93333474780fda1b987cae37e33c3e026ca",
"shasum": ""
},
"require": {
@@ -6398,7 +5907,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v6.4.12"
+ "source": "https://github.com/symfony/mailer/tree/v6.4.31"
},
"funding": [
{
@@ -6409,25 +5918,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-08T12:30:05+00:00"
+ "time": "2025-12-12T07:33:25+00:00"
},
{
"name": "symfony/mime",
- "version": "v6.4.12",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "abe16ee7790b16aa525877419deb0f113953f0e1"
+ "reference": "7409686879ca36c09fc970a5fa8ff6e93504dba4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/abe16ee7790b16aa525877419deb0f113953f0e1",
- "reference": "abe16ee7790b16aa525877419deb0f113953f0e1",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/7409686879ca36c09fc970a5fa8ff6e93504dba4",
+ "reference": "7409686879ca36c09fc970a5fa8ff6e93504dba4",
"shasum": ""
},
"require": {
@@ -6483,7 +5996,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v6.4.12"
+ "source": "https://github.com/symfony/mime/tree/v6.4.32"
},
"funding": [
{
@@ -6494,16 +6007,20 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-20T08:18:25+00:00"
+ "time": "2026-01-04T11:53:14+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.31.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
@@ -6527,8 +6044,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -6562,7 +6079,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0"
},
"funding": [
{
@@ -6573,6 +6090,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -6582,16 +6103,16 @@
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.31.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
+ "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
- "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70",
+ "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70",
"shasum": ""
},
"require": {
@@ -6603,8 +6124,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -6640,7 +6161,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0"
},
"funding": [
{
@@ -6651,25 +6172,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2025-06-27T09:58:17+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.31.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773"
+ "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773",
- "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3",
+ "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3",
"shasum": ""
},
"require": {
@@ -6682,8 +6207,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -6723,7 +6248,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0"
},
"funding": [
{
@@ -6734,16 +6259,20 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2024-09-10T14:38:51+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.31.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@@ -6764,8 +6293,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -6804,7 +6333,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0"
},
"funding": [
{
@@ -6815,6 +6344,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -6824,19 +6357,20 @@
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.31.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
+ "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
- "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
+ "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"shasum": ""
},
"require": {
+ "ext-iconv": "*",
"php": ">=7.2"
},
"provide": {
@@ -6848,8 +6382,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -6884,7 +6418,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0"
},
"funding": [
{
@@ -6895,16 +6429,20 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2024-12-23T08:48:59+00:00"
},
{
"name": "symfony/polyfill-php73",
- "version": "v1.31.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
@@ -6922,8 +6460,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -6960,7 +6498,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.33.0"
},
"funding": [
{
@@ -6971,6 +6509,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -6980,16 +6522,16 @@
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.31.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
+ "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
- "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
+ "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"shasum": ""
},
"require": {
@@ -6998,8 +6540,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -7040,7 +6582,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0"
},
"funding": [
{
@@ -7051,25 +6593,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2025-01-02T08:10:11+00:00"
},
{
"name": "symfony/polyfill-php83",
- "version": "v1.31.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php83.git",
- "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491"
+ "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491",
- "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5",
+ "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5",
"shasum": ""
},
"require": {
@@ -7078,8 +6624,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -7116,7 +6662,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0"
},
"funding": [
{
@@ -7127,16 +6673,20 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2025-07-08T02:45:35+00:00"
},
{
"name": "symfony/polyfill-uuid",
- "version": "v1.31.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-uuid.git",
@@ -7160,8 +6710,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -7195,7 +6745,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/polyfill-uuid/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0"
},
"funding": [
{
@@ -7206,6 +6756,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -7215,16 +6769,16 @@
},
{
"name": "symfony/process",
- "version": "v6.4.12",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3"
+ "reference": "c593135be689b21e6164b1e8f6f5dbf1506b065c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/3f94e5f13ff58df371a7ead461b6e8068900fbb3",
- "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3",
+ "url": "https://api.github.com/repos/symfony/process/zipball/c593135be689b21e6164b1e8f6f5dbf1506b065c",
+ "reference": "c593135be689b21e6164b1e8f6f5dbf1506b065c",
"shasum": ""
},
"require": {
@@ -7256,7 +6810,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v6.4.12"
+ "source": "https://github.com/symfony/process/tree/v6.4.32"
},
"funding": [
{
@@ -7267,25 +6821,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-17T12:47:12+00:00"
+ "time": "2026-01-15T13:23:20+00:00"
},
{
"name": "symfony/routing",
- "version": "v6.4.12",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f"
+ "reference": "0dc6253e864e71b486e8ba4970a56ab849106ebe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/a7c8036bd159486228dc9be3e846a00a0dda9f9f",
- "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/0dc6253e864e71b486e8ba4970a56ab849106ebe",
+ "reference": "0dc6253e864e71b486e8ba4970a56ab849106ebe",
"shasum": ""
},
"require": {
@@ -7339,7 +6897,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v6.4.12"
+ "source": "https://github.com/symfony/routing/tree/v6.4.32"
},
"funding": [
{
@@ -7350,25 +6908,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-20T08:32:26+00:00"
+ "time": "2026-01-12T08:31:19+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.5.0",
+ "version": "v3.6.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f"
+ "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
- "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
+ "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
"shasum": ""
},
"require": {
@@ -7381,12 +6943,12 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "3.5-dev"
- },
"thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
+ "branch-alias": {
+ "dev-main": "3.6-dev"
}
},
"autoload": {
@@ -7422,7 +6984,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.5.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
},
"funding": [
{
@@ -7433,31 +6995,36 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-04-18T09:32:20+00:00"
+ "time": "2025-07-15T11:30:57+00:00"
},
{
"name": "symfony/string",
- "version": "v7.1.5",
+ "version": "v7.4.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "d66f9c343fa894ec2037cc928381df90a7ad4306"
+ "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/d66f9c343fa894ec2037cc928381df90a7ad4306",
- "reference": "d66f9c343fa894ec2037cc928381df90a7ad4306",
+ "url": "https://api.github.com/repos/symfony/string/zipball/1c4b10461bf2ec27537b5f36105337262f5f5d6f",
+ "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3.0",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-grapheme": "~1.33",
"symfony/polyfill-intl-normalizer": "~1.0",
"symfony/polyfill-mbstring": "~1.0"
},
@@ -7465,12 +7032,11 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "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/emoji": "^7.1|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/intl": "^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^6.4|^7.0"
+ "symfony/var-exporter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -7509,7 +7075,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.1.5"
+ "source": "https://github.com/symfony/string/tree/v7.4.4"
},
"funding": [
{
@@ -7520,25 +7086,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-20T08:28:38+00:00"
+ "time": "2026-01-12T10:54:30+00:00"
},
{
"name": "symfony/translation",
- "version": "v6.4.12",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "cf8360b8352b086be620fae8342c4d96e391a489"
+ "reference": "d6cc8e2fdd484f2f41d25938b0e8e3915de3cfbc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/cf8360b8352b086be620fae8342c4d96e391a489",
- "reference": "cf8360b8352b086be620fae8342c4d96e391a489",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/d6cc8e2fdd484f2f41d25938b0e8e3915de3cfbc",
+ "reference": "d6cc8e2fdd484f2f41d25938b0e8e3915de3cfbc",
"shasum": ""
},
"require": {
@@ -7604,7 +7174,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v6.4.12"
+ "source": "https://github.com/symfony/translation/tree/v6.4.32"
},
"funding": [
{
@@ -7615,25 +7185,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-16T06:02:54+00:00"
+ "time": "2026-01-12T19:15:33+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v3.5.0",
+ "version": "v3.6.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a"
+ "reference": "65a8bc82080447fae78373aa10f8d13b38338977"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a",
- "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977",
+ "reference": "65a8bc82080447fae78373aa10f8d13b38338977",
"shasum": ""
},
"require": {
@@ -7641,12 +7215,12 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "3.5-dev"
- },
"thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
+ "url": "https://github.com/symfony/contracts",
+ "name": "symfony/contracts"
+ },
+ "branch-alias": {
+ "dev-main": "3.6-dev"
}
},
"autoload": {
@@ -7682,7 +7256,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1"
},
"funding": [
{
@@ -7693,25 +7267,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-04-18T09:32:20+00:00"
+ "time": "2025-07-15T13:41:35+00:00"
},
{
"name": "symfony/uid",
- "version": "v6.4.12",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d"
+ "reference": "6b973c385f00341b246f697d82dc01a09107acdd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d",
- "reference": "2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/6b973c385f00341b246f697d82dc01a09107acdd",
+ "reference": "6b973c385f00341b246f697d82dc01a09107acdd",
"shasum": ""
},
"require": {
@@ -7756,7 +7334,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v6.4.12"
+ "source": "https://github.com/symfony/uid/tree/v6.4.32"
},
"funding": [
{
@@ -7767,25 +7345,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-20T08:32:26+00:00"
+ "time": "2025-12-23T15:07:59+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v6.4.11",
+ "version": "v6.4.32",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "ee14c8254a480913268b1e3b1cba8045ed122694"
+ "reference": "131fc9915e0343052af5ed5040401b481ca192aa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694",
- "reference": "ee14c8254a480913268b1e3b1cba8045ed122694",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/131fc9915e0343052af5ed5040401b481ca192aa",
+ "reference": "131fc9915e0343052af5ed5040401b481ca192aa",
"shasum": ""
},
"require": {
@@ -7797,7 +7379,6 @@
"symfony/console": "<5.4"
},
"require-dev": {
- "ext-iconv": "*",
"symfony/console": "^5.4|^6.0|^7.0",
"symfony/error-handler": "^6.3|^7.0",
"symfony/http-kernel": "^5.4|^6.0|^7.0",
@@ -7841,7 +7422,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v6.4.11"
+ "source": "https://github.com/symfony/var-dumper/tree/v6.4.32"
},
"funding": [
{
@@ -7852,40 +7433,46 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-08-30T16:03:21+00:00"
+ "time": "2026-01-01T13:34:06+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
- "version": "v2.2.7",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
- "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb"
+ "reference": "f0292ccf0ec75843d65027214426b6b163b48b41"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb",
- "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb",
+ "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0292ccf0ec75843d65027214426b6b163b48b41",
+ "reference": "f0292ccf0ec75843d65027214426b6b163b48b41",
"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"
+ "php": "^7.4 || ^8.0",
+ "symfony/css-selector": "^5.4 || ^6.0 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10"
+ "phpstan/phpstan": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^8.5.21 || ^9.5.10"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2.x-dev"
+ "dev-master": "2.x-dev"
}
},
"autoload": {
@@ -7908,28 +7495,28 @@
"homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
"support": {
"issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
- "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7"
+ "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.4.0"
},
- "time": "2023-12-08T13:03:43+00:00"
+ "time": "2025-12-02T11:56:42+00:00"
},
{
"name": "torann/geoip",
- "version": "3.0.8",
+ "version": "3.0.9",
"source": {
"type": "git",
"url": "https://github.com/Torann/laravel-geoip.git",
- "reference": "22a82647d866572af7fcdf90b033188090c91504"
+ "reference": "1ea60c7e1a1608de3885e8cd76389cfe5c8424de"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Torann/laravel-geoip/zipball/22a82647d866572af7fcdf90b033188090c91504",
- "reference": "22a82647d866572af7fcdf90b033188090c91504",
+ "url": "https://api.github.com/repos/Torann/laravel-geoip/zipball/1ea60c7e1a1608de3885e8cd76389cfe5c8424de",
+ "reference": "1ea60c7e1a1608de3885e8cd76389cfe5c8424de",
"shasum": ""
},
"require": {
- "illuminate/cache": "^8.0|^9.0|^10.0|^11.0",
- "illuminate/console": "^8.0|^9.0|^10.0|^11.0",
- "illuminate/support": "^8.0|^9.0|^10.0|^11.0",
+ "illuminate/cache": "^8.0|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/console": "^8.0|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0",
"php": "^8.0|^8.1|^8.2|^8.3"
},
"require-dev": {
@@ -7946,16 +7533,16 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- },
"laravel": {
- "providers": [
- "Torann\\GeoIP\\GeoIPServiceProvider"
- ],
"aliases": {
"GeoIP": "Torann\\GeoIP\\Facades\\GeoIP"
- }
+ },
+ "providers": [
+ "Torann\\GeoIP\\GeoIPServiceProvider"
+ ]
+ },
+ "branch-alias": {
+ "dev-master": "1.0-dev"
}
},
"autoload": {
@@ -7988,32 +7575,32 @@
],
"support": {
"issues": "https://github.com/Torann/laravel-geoip/issues",
- "source": "https://github.com/Torann/laravel-geoip/tree/3.0.8"
+ "source": "https://github.com/Torann/laravel-geoip/tree/3.0.9"
},
- "time": "2024-07-23T12:56:44+00:00"
+ "time": "2025-02-25T18:24:54+00:00"
},
{
"name": "vlucas/phpdotenv",
- "version": "v5.6.1",
+ "version": "v5.6.3",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2"
+ "reference": "955e7815d677a3eaa7075231212f2110983adecc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2",
- "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc",
+ "reference": "955e7815d677a3eaa7075231212f2110983adecc",
"shasum": ""
},
"require": {
"ext-pcre": "*",
- "graham-campbell/result-type": "^1.1.3",
+ "graham-campbell/result-type": "^1.1.4",
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.3",
- "symfony/polyfill-ctype": "^1.24",
- "symfony/polyfill-mbstring": "^1.24",
- "symfony/polyfill-php80": "^1.24"
+ "phpoption/phpoption": "^1.9.5",
+ "symfony/polyfill-ctype": "^1.26",
+ "symfony/polyfill-mbstring": "^1.26",
+ "symfony/polyfill-php80": "^1.26"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
@@ -8062,7 +7649,7 @@
],
"support": {
"issues": "https://github.com/vlucas/phpdotenv/issues",
- "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1"
+ "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.3"
},
"funding": [
{
@@ -8074,20 +7661,20 @@
"type": "tidelift"
}
],
- "time": "2024-07-20T21:52:34+00:00"
+ "time": "2025-12-27T19:49:13+00:00"
},
{
"name": "voku/portable-ascii",
- "version": "2.0.1",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/voku/portable-ascii.git",
- "reference": "b56450eed252f6801410d810c8e1727224ae0743"
+ "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743",
- "reference": "b56450eed252f6801410d810c8e1727224ae0743",
+ "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
+ "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
"shasum": ""
},
"require": {
@@ -8112,7 +7699,7 @@
"authors": [
{
"name": "Lars Moelleken",
- "homepage": "http://www.moelleken.org/"
+ "homepage": "https://www.moelleken.org/"
}
],
"description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
@@ -8124,7 +7711,7 @@
],
"support": {
"issues": "https://github.com/voku/portable-ascii/issues",
- "source": "https://github.com/voku/portable-ascii/tree/2.0.1"
+ "source": "https://github.com/voku/portable-ascii/tree/2.0.3"
},
"funding": [
{
@@ -8148,65 +7735,7 @@
"type": "tidelift"
}
],
- "time": "2022-03-08T17:03:00+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.11.0",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "php": "^7.2 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<4.6.1 || 4.6.2"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5.13"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.10-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "support": {
- "issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.11.0"
- },
- "time": "2022-06-03T18:03:27+00:00"
+ "time": "2024-11-21T01:49:47+00:00"
}
],
"packages-dev": [
@@ -8252,13 +7781,13 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "2.15-dev"
- },
"laravel": {
"providers": [
"Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider"
]
+ },
+ "branch-alias": {
+ "dev-master": "2.15-dev"
}
},
"autoload": {
@@ -8306,20 +7835,20 @@
},
{
"name": "barryvdh/reflection-docblock",
- "version": "v2.1.1",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/ReflectionDocBlock.git",
- "reference": "e6811e927f0ecc37cc4deaa6627033150343e597"
+ "reference": "d103774cbe7e94ddee7e4870f97f727b43fe7201"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/e6811e927f0ecc37cc4deaa6627033150343e597",
- "reference": "e6811e927f0ecc37cc4deaa6627033150343e597",
+ "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/d103774cbe7e94ddee7e4870f97f727b43fe7201",
+ "reference": "d103774cbe7e94ddee7e4870f97f727b43fe7201",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "^8.5.14|^9"
@@ -8331,7 +7860,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "2.3.x-dev"
}
},
"autoload": {
@@ -8352,36 +7881,36 @@
}
],
"support": {
- "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.1.1"
+ "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.4.0"
},
- "time": "2023-06-14T05:06:27+00:00"
+ "time": "2025-07-17T06:07:30+00:00"
},
{
"name": "composer/class-map-generator",
- "version": "1.4.0",
+ "version": "1.7.1",
"source": {
"type": "git",
"url": "https://github.com/composer/class-map-generator.git",
- "reference": "98bbf6780e56e0fd2404fe4b82eb665a0f93b783"
+ "reference": "8f5fa3cc214230e71f54924bd0197a3bcc705eb1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/class-map-generator/zipball/98bbf6780e56e0fd2404fe4b82eb665a0f93b783",
- "reference": "98bbf6780e56e0fd2404fe4b82eb665a0f93b783",
+ "url": "https://api.github.com/repos/composer/class-map-generator/zipball/8f5fa3cc214230e71f54924bd0197a3bcc705eb1",
+ "reference": "8f5fa3cc214230e71f54924bd0197a3bcc705eb1",
"shasum": ""
},
"require": {
"composer/pcre": "^2.1 || ^3.1",
"php": "^7.2 || ^8.0",
- "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7"
+ "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7 || ^8"
},
"require-dev": {
- "phpstan/phpstan": "^1.6",
- "phpstan/phpstan-deprecation-rules": "^1",
- "phpstan/phpstan-phpunit": "^1",
- "phpstan/phpstan-strict-rules": "^1.1",
+ "phpstan/phpstan": "^1.12 || ^2",
+ "phpstan/phpstan-deprecation-rules": "^1 || ^2",
+ "phpstan/phpstan-phpunit": "^1 || ^2",
+ "phpstan/phpstan-strict-rules": "^1.1 || ^2",
"phpunit/phpunit": "^8",
- "symfony/filesystem": "^5.4 || ^6"
+ "symfony/filesystem": "^5.4 || ^6 || ^7 || ^8"
},
"type": "library",
"extra": {
@@ -8411,7 +7940,7 @@
],
"support": {
"issues": "https://github.com/composer/class-map-generator/issues",
- "source": "https://github.com/composer/class-map-generator/tree/1.4.0"
+ "source": "https://github.com/composer/class-map-generator/tree/1.7.1"
},
"funding": [
{
@@ -8421,26 +7950,22 @@
{
"url": "https://github.com/composer",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
}
],
- "time": "2024-10-03T18:14:00+00:00"
+ "time": "2025-12-29T13:15:25+00:00"
},
{
"name": "composer/pcre",
- "version": "3.3.1",
+ "version": "3.3.2",
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
- "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4"
+ "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/63aaeac21d7e775ff9bc9d45021e1745c97521c4",
- "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
+ "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
"shasum": ""
},
"require": {
@@ -8450,19 +7975,19 @@
"phpstan/phpstan": "<1.11.10"
},
"require-dev": {
- "phpstan/phpstan": "^1.11.10",
- "phpstan/phpstan-strict-rules": "^1.1",
+ "phpstan/phpstan": "^1.12 || ^2",
+ "phpstan/phpstan-strict-rules": "^1 || ^2",
"phpunit/phpunit": "^8 || ^9"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "3.x-dev"
- },
"phpstan": {
"includes": [
"extension.neon"
]
+ },
+ "branch-alias": {
+ "dev-main": "3.x-dev"
}
},
"autoload": {
@@ -8490,7 +8015,7 @@
],
"support": {
"issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.3.1"
+ "source": "https://github.com/composer/pcre/tree/3.3.2"
},
"funding": [
{
@@ -8506,7 +8031,7 @@
"type": "tidelift"
}
],
- "time": "2024-08-27T18:44:43+00:00"
+ "time": "2024-11-12T16:29:46+00:00"
},
{
"name": "doctrine/instantiator",
@@ -8580,16 +8105,16 @@
},
{
"name": "dragon-code/contracts",
- "version": "2.23.0",
+ "version": "2.24.0",
"source": {
"type": "git",
"url": "https://github.com/TheDragonCode/contracts.git",
- "reference": "44dbad923f152e0dc2699fbac2d33b65dd6a8f7d"
+ "reference": "c21ea4fc0a399bd803a2805a7f2c989749083896"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TheDragonCode/contracts/zipball/44dbad923f152e0dc2699fbac2d33b65dd6a8f7d",
- "reference": "44dbad923f152e0dc2699fbac2d33b65dd6a8f7d",
+ "url": "https://api.github.com/repos/TheDragonCode/contracts/zipball/c21ea4fc0a399bd803a2805a7f2c989749083896",
+ "reference": "c21ea4fc0a399bd803a2805a7f2c989749083896",
"shasum": ""
},
"require": {
@@ -8602,7 +8127,7 @@
"andrey-helldar/contracts": "*"
},
"require-dev": {
- "illuminate/database": "^10.0 || ^11.0",
+ "illuminate/database": "^10.0 || ^11.0 || ^12.0",
"phpdocumentor/reflection-docblock": "^5.0"
},
"type": "library",
@@ -8635,29 +8160,25 @@
"url": "https://boosty.to/dragon-code",
"type": "boosty"
},
- {
- "url": "https://www.donationalerts.com/r/dragon_code",
- "type": "donationalerts"
- },
{
"url": "https://yoomoney.ru/to/410012608840929",
"type": "yoomoney"
}
],
- "time": "2024-03-11T20:15:12+00:00"
+ "time": "2025-02-23T23:11:50+00:00"
},
{
"name": "dragon-code/pretty-array",
- "version": "v4.1.0",
+ "version": "4.2.0",
"source": {
"type": "git",
"url": "https://github.com/TheDragonCode/pretty-array.git",
- "reference": "6c84e2454491b414efbd37985c322712cdf9012f"
+ "reference": "b94034d92172a5d14a578822d68b2a8f8b5388e0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TheDragonCode/pretty-array/zipball/6c84e2454491b414efbd37985c322712cdf9012f",
- "reference": "6c84e2454491b414efbd37985c322712cdf9012f",
+ "url": "https://api.github.com/repos/TheDragonCode/pretty-array/zipball/b94034d92172a5d14a578822d68b2a8f8b5388e0",
+ "reference": "b94034d92172a5d14a578822d68b2a8f8b5388e0",
"shasum": ""
},
"require": {
@@ -8668,7 +8189,7 @@
"php": "^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.6 || ^10.2"
+ "phpunit/phpunit": "^9.6 || ^10.0 || ^11.0 || ^12.0"
},
"suggest": {
"symfony/thanks": "Give thanks (in the form of a GitHub) to your fellow PHP package maintainers"
@@ -8687,7 +8208,7 @@
{
"name": "Andrey Helldar",
"email": "helldar@dragon-code.pro",
- "homepage": "https://github.com/andrey-helldar"
+ "homepage": "https://dragon-code.pro"
}
],
"description": "Simple conversion of an array to a pretty view",
@@ -8708,33 +8229,25 @@
"url": "https://boosty.to/dragon-code",
"type": "boosty"
},
- {
- "url": "https://github.com/sponsors/TheDragonCode",
- "type": "github"
- },
- {
- "url": "https://opencollective.com/dragon-code",
- "type": "open_collective"
- },
{
"url": "https://yoomoney.ru/to/410012608840929",
"type": "yoomoney"
}
],
- "time": "2023-06-02T11:37:44+00:00"
+ "time": "2025-02-24T15:35:24+00:00"
},
{
"name": "dragon-code/support",
- "version": "6.15.0",
+ "version": "6.16.0",
"source": {
"type": "git",
"url": "https://github.com/TheDragonCode/support.git",
- "reference": "087d7baaa963cdbb24e901dc27e10cdc31c2529c"
+ "reference": "ab9b657a307e75f6ba5b2b39e1e45207dc1a065a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TheDragonCode/support/zipball/087d7baaa963cdbb24e901dc27e10cdc31c2529c",
- "reference": "087d7baaa963cdbb24e901dc27e10cdc31c2529c",
+ "url": "https://api.github.com/repos/TheDragonCode/support/zipball/ab9b657a307e75f6ba5b2b39e1e45207dc1a065a",
+ "reference": "ab9b657a307e75f6ba5b2b39e1e45207dc1a065a",
"shasum": ""
},
"require": {
@@ -8753,8 +8266,8 @@
"andrey-helldar/support": "*"
},
"require-dev": {
- "illuminate/contracts": "^9.0 || ^10.0 || ^11.0",
- "phpunit/phpunit": "^9.6 || ^11.0",
+ "illuminate/contracts": "^9.0 || ^10.0 || ^11.0 || ^12.0",
+ "phpunit/phpunit": "^9.6 || ^11.0 || ^12.0",
"symfony/var-dumper": "^6.0 || ^7.0"
},
"suggest": {
@@ -8811,29 +8324,25 @@
"url": "https://boosty.to/dragon-code",
"type": "boosty"
},
- {
- "url": "https://www.donationalerts.com/r/dragon_code",
- "type": "donationalerts"
- },
{
"url": "https://yoomoney.ru/to/410012608840929",
"type": "yoomoney"
}
],
- "time": "2024-09-07T13:27:37+00:00"
+ "time": "2025-02-24T14:01:52+00:00"
},
{
"name": "fakerphp/faker",
- "version": "v1.23.1",
+ "version": "v1.24.1",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
- "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b"
+ "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b",
- "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5",
+ "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5",
"shasum": ""
},
"require": {
@@ -8881,22 +8390,22 @@
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1"
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1"
},
- "time": "2024-01-02T13:46:09+00:00"
+ "time": "2024-11-21T13:46:39+00:00"
},
{
"name": "filp/whoops",
- "version": "2.16.0",
+ "version": "2.18.4",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
- "reference": "befcdc0e5dce67252aa6322d82424be928214fa2"
+ "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/befcdc0e5dce67252aa6322d82424be928214fa2",
- "reference": "befcdc0e5dce67252aa6322d82424be928214fa2",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d",
+ "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d",
"shasum": ""
},
"require": {
@@ -8946,7 +8455,7 @@
],
"support": {
"issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.16.0"
+ "source": "https://github.com/filp/whoops/tree/2.18.4"
},
"funding": [
{
@@ -8954,24 +8463,24 @@
"type": "github"
}
],
- "time": "2024-09-25T12:00:00+00:00"
+ "time": "2025-08-08T12:00:00+00:00"
},
{
"name": "hamcrest/hamcrest-php",
- "version": "v2.0.1",
+ "version": "v2.1.1",
"source": {
"type": "git",
"url": "https://github.com/hamcrest/hamcrest-php.git",
- "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3"
+ "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
- "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
+ "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487",
+ "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487",
"shasum": ""
},
"require": {
- "php": "^5.3|^7.0|^8.0"
+ "php": "^7.4|^8.0"
},
"replace": {
"cordoval/hamcrest-php": "*",
@@ -8979,8 +8488,8 @@
"kodova/hamcrest-php": "*"
},
"require-dev": {
- "phpunit/php-file-iterator": "^1.4 || ^2.0",
- "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0"
+ "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0"
},
"type": "library",
"extra": {
@@ -9003,9 +8512,9 @@
],
"support": {
"issues": "https://github.com/hamcrest/hamcrest-php/issues",
- "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1"
+ "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1"
},
- "time": "2020-07-09T08:09:16+00:00"
+ "time": "2025-04-30T06:54:44+00:00"
},
{
"name": "laravel-lang/attributes",
@@ -9437,13 +8946,13 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- },
"laravel": {
"providers": [
"Laravel\\Breeze\\BreezeServiceProvider"
]
+ },
+ "branch-alias": {
+ "dev-master": "1.x-dev"
}
},
"autoload": {
@@ -9474,29 +8983,29 @@
},
{
"name": "laravel/sail",
- "version": "v1.34.0",
+ "version": "v1.52.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
- "reference": "511e9c95b0f3ee778dc9e11e242bcd2af8e002cd"
+ "reference": "64ac7d8abb2dbcf2b76e61289451bae79066b0b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/sail/zipball/511e9c95b0f3ee778dc9e11e242bcd2af8e002cd",
- "reference": "511e9c95b0f3ee778dc9e11e242bcd2af8e002cd",
+ "url": "https://api.github.com/repos/laravel/sail/zipball/64ac7d8abb2dbcf2b76e61289451bae79066b0b3",
+ "reference": "64ac7d8abb2dbcf2b76e61289451bae79066b0b3",
"shasum": ""
},
"require": {
- "illuminate/console": "^9.52.16|^10.0|^11.0",
- "illuminate/contracts": "^9.52.16|^10.0|^11.0",
- "illuminate/support": "^9.52.16|^10.0|^11.0",
+ "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0",
+ "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0",
+ "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0",
"php": "^8.0",
"symfony/console": "^6.0|^7.0",
"symfony/yaml": "^6.0|^7.0"
},
"require-dev": {
- "orchestra/testbench": "^7.0|^8.0|^9.0",
- "phpstan/phpstan": "^1.10"
+ "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0",
+ "phpstan/phpstan": "^2.0"
},
"bin": [
"bin/sail"
@@ -9533,7 +9042,7 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
- "time": "2024-09-27T14:58:09+00:00"
+ "time": "2026-01-01T02:46:03+00:00"
},
{
"name": "mockery/mockery",
@@ -9620,16 +9129,16 @@
},
{
"name": "myclabs/deep-copy",
- "version": "1.12.0",
+ "version": "1.13.4",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c"
+ "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
- "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a",
+ "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a",
"shasum": ""
},
"require": {
@@ -9668,7 +9177,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4"
},
"funding": [
{
@@ -9676,7 +9185,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-12T14:39:25+00:00"
+ "time": "2025-08-01T08:46:24+00:00"
},
{
"name": "nunomaduro/collision",
@@ -9709,13 +9218,13 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-develop": "6.x-dev"
- },
"laravel": {
"providers": [
"NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
]
+ },
+ "branch-alias": {
+ "dev-develop": "6.x-dev"
}
},
"autoload": {
@@ -9939,23 +9448,23 @@
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.8.2",
+ "version": "1.12.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "153ae662783729388a584b4361f2545e4d841e3c"
+ "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
- "reference": "153ae662783729388a584b4361f2545e4d841e3c",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195",
+ "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
"php": "^7.3 || ^8.0",
"phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.13"
+ "phpstan/phpdoc-parser": "^1.18|^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
@@ -9991,36 +9500,36 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0"
},
- "time": "2024-02-23T11:10:43+00:00"
+ "time": "2025-11-21T15:09:14+00:00"
},
{
"name": "phpstan/phpdoc-parser",
- "version": "1.32.0",
+ "version": "2.3.2",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4"
+ "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6ca22b154efdd9e3c68c56f5d94670920a1c19a4",
- "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a",
+ "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
"doctrine/annotations": "^2.0",
- "nikic/php-parser": "^4.15",
+ "nikic/php-parser": "^5.3.0",
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^1.5",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpstan/phpstan-strict-rules": "^1.0",
- "phpunit/phpunit": "^9.5",
+ "phpstan/phpstan": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^9.6",
"symfony/process": "^5.2"
},
"type": "library",
@@ -10038,9 +9547,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.32.0"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2"
},
- "time": "2024-09-26T07:23:32+00:00"
+ "time": "2026-01-25T14:56:51+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -10363,16 +9872,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.6.21",
+ "version": "9.6.32",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa"
+ "reference": "492ee10a8369a1c1ac390a3b46e0c846e384c5a4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa",
- "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/492ee10a8369a1c1ac390a3b46e0c846e384c5a4",
+ "reference": "492ee10a8369a1c1ac390a3b46e0c846e384c5a4",
"shasum": ""
},
"require": {
@@ -10383,7 +9892,7 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.12.0",
+ "myclabs/deep-copy": "^1.13.4",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=7.3",
@@ -10394,11 +9903,11 @@
"phpunit/php-timer": "^5.0.3",
"sebastian/cli-parser": "^1.0.2",
"sebastian/code-unit": "^1.0.8",
- "sebastian/comparator": "^4.0.8",
+ "sebastian/comparator": "^4.0.10",
"sebastian/diff": "^4.0.6",
"sebastian/environment": "^5.1.5",
- "sebastian/exporter": "^4.0.6",
- "sebastian/global-state": "^5.0.7",
+ "sebastian/exporter": "^4.0.8",
+ "sebastian/global-state": "^5.0.8",
"sebastian/object-enumerator": "^4.0.4",
"sebastian/resource-operations": "^3.0.4",
"sebastian/type": "^3.2.1",
@@ -10446,7 +9955,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.21"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.32"
},
"funding": [
{
@@ -10457,12 +9966,20 @@
"url": "https://github.com/sebastianbergmann",
"type": "github"
},
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
"type": "tidelift"
}
],
- "time": "2024-09-19T10:50:18+00:00"
+ "time": "2026-01-24T16:04:20+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -10633,16 +10150,16 @@
},
{
"name": "sebastian/comparator",
- "version": "4.0.8",
+ "version": "4.0.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
+ "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e4df00b9b3571187db2831ae9aada2c6efbd715d",
+ "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d",
"shasum": ""
},
"require": {
@@ -10695,15 +10212,27 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.10"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator",
+ "type": "tidelift"
}
],
- "time": "2022-09-14T12:41:17+00:00"
+ "time": "2026-01-24T09:22:56+00:00"
},
{
"name": "sebastian/complexity",
@@ -10893,16 +10422,16 @@
},
{
"name": "sebastian/exporter",
- "version": "4.0.6",
+ "version": "4.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
+ "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
- "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/14c6ba52f95a36c3d27c835d65efc7123c446e8c",
+ "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c",
"shasum": ""
},
"require": {
@@ -10958,28 +10487,40 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.8"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter",
+ "type": "tidelift"
}
],
- "time": "2024-03-02T06:33:00+00:00"
+ "time": "2025-09-24T06:03:27+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.7",
+ "version": "5.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
+ "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
- "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6",
+ "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6",
"shasum": ""
},
"require": {
@@ -11022,15 +10563,27 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.8"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state",
+ "type": "tidelift"
}
],
- "time": "2024-03-02T06:35:11+00:00"
+ "time": "2025-08-10T07:10:35+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -11203,16 +10756,16 @@
},
{
"name": "sebastian/recursion-context",
- "version": "4.0.5",
+ "version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ "reference": "539c6691e0623af6dc6f9c20384c120f963465a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/539c6691e0623af6dc6f9c20384c120f963465a0",
+ "reference": "539c6691e0623af6dc6f9c20384c120f963465a0",
"shasum": ""
},
"require": {
@@ -11254,15 +10807,27 @@
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.6"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context",
+ "type": "tidelift"
}
],
- "time": "2023-02-03T06:07:39+00:00"
+ "time": "2025-08-10T06:57:39+00:00"
},
{
"name": "sebastian/resource-operations",
@@ -11429,27 +10994,27 @@
},
{
"name": "spatie/backtrace",
- "version": "1.6.2",
+ "version": "1.8.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/backtrace.git",
- "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9"
+ "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9",
- "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9",
+ "url": "https://api.github.com/repos/spatie/backtrace/zipball/8c0f16a59ae35ec8c62d85c3c17585158f430110",
+ "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110",
"shasum": ""
},
"require": {
- "php": "^7.3|^8.0"
+ "php": "^7.3 || ^8.0"
},
"require-dev": {
"ext-json": "*",
- "laravel/serializable-closure": "^1.3",
- "phpunit/phpunit": "^9.3",
- "spatie/phpunit-snapshot-assertions": "^4.2",
- "symfony/var-dumper": "^5.1"
+ "laravel/serializable-closure": "^1.3 || ^2.0",
+ "phpunit/phpunit": "^9.3 || ^11.4.3",
+ "spatie/phpunit-snapshot-assertions": "^4.2 || ^5.1.6",
+ "symfony/var-dumper": "^5.1 || ^6.0 || ^7.0"
},
"type": "library",
"autoload": {
@@ -11476,7 +11041,8 @@
"spatie"
],
"support": {
- "source": "https://github.com/spatie/backtrace/tree/1.6.2"
+ "issues": "https://github.com/spatie/backtrace/issues",
+ "source": "https://github.com/spatie/backtrace/tree/1.8.1"
},
"funding": [
{
@@ -11488,24 +11054,24 @@
"type": "other"
}
],
- "time": "2024-07-22T08:21:24+00:00"
+ "time": "2025-08-26T08:22:30+00:00"
},
{
"name": "spatie/flare-client-php",
- "version": "1.8.0",
+ "version": "1.10.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/flare-client-php.git",
- "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122"
+ "reference": "bf1716eb98bd689451b071548ae9e70738dce62f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122",
- "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122",
+ "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/bf1716eb98bd689451b071548ae9e70738dce62f",
+ "reference": "bf1716eb98bd689451b071548ae9e70738dce62f",
"shasum": ""
},
"require": {
- "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0",
+ "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0",
"php": "^8.0",
"spatie/backtrace": "^1.6.1",
"symfony/http-foundation": "^5.2|^6.0|^7.0",
@@ -11549,7 +11115,7 @@
],
"support": {
"issues": "https://github.com/spatie/flare-client-php/issues",
- "source": "https://github.com/spatie/flare-client-php/tree/1.8.0"
+ "source": "https://github.com/spatie/flare-client-php/tree/1.10.1"
},
"funding": [
{
@@ -11557,7 +11123,7 @@
"type": "github"
}
],
- "time": "2024-08-01T08:27:26+00:00"
+ "time": "2025-02-14T13:42:06+00:00"
},
{
"name": "spatie/ignition",
@@ -11683,12 +11249,12 @@
"type": "library",
"extra": {
"laravel": {
- "providers": [
- "Spatie\\LaravelIgnition\\IgnitionServiceProvider"
- ],
"aliases": {
"Flare": "Spatie\\LaravelIgnition\\Facades\\Flare"
- }
+ },
+ "providers": [
+ "Spatie\\LaravelIgnition\\IgnitionServiceProvider"
+ ]
}
},
"autoload": {
@@ -11734,7 +11300,7 @@
},
{
"name": "symfony/polyfill-php81",
- "version": "v1.31.0",
+ "version": "v1.33.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
@@ -11752,8 +11318,8 @@
"type": "library",
"extra": {
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
}
},
"autoload": {
@@ -11790,7 +11356,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0"
},
"funding": [
{
@@ -11801,6 +11367,10 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
@@ -11810,27 +11380,28 @@
},
{
"name": "symfony/yaml",
- "version": "v7.1.5",
+ "version": "v7.4.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "4e561c316e135e053bd758bf3b3eb291d9919de4"
+ "reference": "24dd4de28d2e3988b311751ac49e684d783e2345"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/4e561c316e135e053bd758bf3b3eb291d9919de4",
- "reference": "4e561c316e135e053bd758bf3b3eb291d9919de4",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/24dd4de28d2e3988b311751ac49e684d783e2345",
+ "reference": "24dd4de28d2e3988b311751ac49e684d783e2345",
"shasum": ""
},
"require": {
"php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"symfony/console": "<6.4"
},
"require-dev": {
- "symfony/console": "^6.4|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0"
},
"bin": [
"Resources/bin/yaml-lint"
@@ -11861,7 +11432,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v7.1.5"
+ "source": "https://github.com/symfony/yaml/tree/v7.4.1"
},
"funding": [
{
@@ -11872,25 +11443,29 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-17T12:49:58+00:00"
+ "time": "2025-12-04T18:11:45+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.3",
+ "version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
+ "reference": "b7489ce515e168639d17feec34b8847c326b0b3c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c",
+ "reference": "b7489ce515e168639d17feec34b8847c326b0b3c",
"shasum": ""
},
"require": {
@@ -11919,7 +11494,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.3"
+ "source": "https://github.com/theseer/tokenizer/tree/1.3.1"
},
"funding": [
{
@@ -11927,17 +11502,17 @@
"type": "github"
}
],
- "time": "2024-03-03T12:36:25+00:00"
+ "time": "2025-11-17T20:03:58+00:00"
}
],
"aliases": [],
"minimum-stability": "dev",
- "stability-flags": [],
+ "stability-flags": {},
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
"php": ">=8.0"
},
- "platform-dev": [],
+ "platform-dev": {},
"plugin-api-version": "2.6.0"
}
diff --git a/resources/views/components/config/backups.blade.php b/resources/views/components/config/backups.blade.php
index 5fb835e52..08f3f9694 100644
--- a/resources/views/components/config/backups.blade.php
+++ b/resources/views/components/config/backups.blade.php
@@ -1,44 +1,129 @@
+
-
-
- @if (file_exists(base_path('backups/updater-backups/')) and is_dir(base_path('backups/updater-backups/')))
- @if($_SERVER['QUERY_STRING'] != '')
-
+ button:hover {
+ background-color: #0065c1;
+ color: #FFF;
+ box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.6);
+ }
+
+ .buttondm {
+ display: inline-block;
+ text-decoration: none;
+ height: 48px;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 18px;
+ width: 300px;
+ font-weight: 700;
+ line-height: 48px;
+ letter-spacing: .1px;
+ white-space: wrap;
+ border-radius: 8px;
+ cursor: pointer
+ }
+
+ .button-hover,
+ .credit-hover {
+ display: inline-block;
+ -webkit-transform: perspective(1px) translateZ(0);
+ transform: perspective(1px) translateZ(0);
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
+ -webkit-transition-duration: .3s;
+ transition-duration: .3s;
+ -webkit-transition-property: transform;
+ transition-property: transform
+ }
+
+ .button-hover:active,
+ .credit-hover:active,
+ .button-hover:focus,
+ .credit-hover:focus,
+ .button-hover:hover,
+ .credit-hover:hover {
+ -webkit-transform: scale(1.06);
+ transform: scale(1.06)
+ }
+
+ .container {
+ align-items: center;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ height: 50%;
+ width: 100%
+ }
+
+
+
+@if (file_exists(base_path('backups/updater-backups/')) and is_dir(base_path('backups/updater-backups/')))
+ @if ($_SERVER['QUERY_STRING'] != '')
+
@endif
-
-
-
{{__('messages.Download your updater backups:')}}
-
{{__('messages.The server will never store more that two backups at a time')}}
-
'; print_r($entrys); echo ' ';
- }}} ?>
-
- @else
-
-
{{__('messages.No backups found')}}
- @endif
- {{__('messages.Backup your instance')}}
+
+
+
{{ __('messages.Download your updater backups:') }}
+
{{ __('messages.The server will never store more that two backups at a time') }}
+
';
+ print_r($entrys);
+ echo ' ';
+ }
+ }
+ } ?>
+
+@else
+
+
{{ __('messages.No backups found') }}
+
+@endif
+ {{ __('messages.Backup your instance') }}
diff --git a/resources/views/panel/backups.blade.php b/resources/views/panel/backups.blade.php
index 98cb4a76e..9f691a4f6 100644
--- a/resources/views/panel/backups.blade.php
+++ b/resources/views/panel/backups.blade.php
@@ -1,25 +1,45 @@
@extends('layouts.sidebar')
@section('content')
- @if (file_exists(base_path('backups/updater-backups/')) and is_dir(base_path('backups/updater-backups/')))
-
- @endif
-
-@endsection
\ No newline at end of file
+ @if (file_exists(base_path('backups/updater-backups/')) && is_dir(base_path('backups/updater-backups/')))
+
+ @endif
+ @endsection
+
\ No newline at end of file
From 0204a15d5d4d578c63df476ab32eb9613648702b Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Mon, 26 Jan 2026 19:03:54 +0100
Subject: [PATCH 07/25] Update Ubuntu
---
.github/workflows/release.yml | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 29946b6c5..15e8c42a6 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -6,7 +6,7 @@ on:
jobs:
setup-ubuntu:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-latest
steps:
- name: Check for GitHub API key
@@ -180,5 +180,4 @@ jobs:
sshpass -p "${{ secrets.SERVER_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SERVER_PORT }} ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }} "rm -rf ${{ secrets.REMOTE_PATH }}/*"
# Use SSH to upload the file to the remote server
- sshpass -p "${{ secrets.SERVER_PASSWORD }}" scp -o StrictHostKeyChecking=no -P ${{ secrets.SERVER_PORT }} $version.zip ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.REMOTE_PATH }}
-
+ sshpass -p "${{ secrets.SERVER_PASSWORD }}" scp -o StrictHostKeyChecking=no -P ${{ secrets.SERVER_PORT }} $version.zip ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.REMOTE_PATH }}
\ No newline at end of file
From 67e5146232d6f87116f656a1aec7ef9631d33bc6 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Mon, 26 Jan 2026 19:09:40 +0100
Subject: [PATCH 08/25] Test fix PHP 8
---
.github/workflows/release.yml | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 15e8c42a6..c62056c9e 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -21,15 +21,15 @@ jobs:
echo "GitHub API key found."
fi
+ - name: Setup PHP 8.0
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: '8.0'
+ tools: composer
+ coverage: none
+
- name: Updating Dependencies + zip
run: |
- cd ~
- curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
- HASH=`curl -sS https://composer.github.io/installer.sig`
- sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
-
- sudo update-alternatives --set php /usr/bin/php8.0
-
cd /tmp
mkdir linkstack
cd linkstack
From 0673282a0b58c4fbccc23b8894a93441091179e2 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Mon, 26 Jan 2026 19:11:27 +0100
Subject: [PATCH 09/25] Revert "Test fix PHP 8"
This reverts commit 67e5146232d6f87116f656a1aec7ef9631d33bc6.
---
.github/workflows/release.yml | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c62056c9e..15e8c42a6 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -21,15 +21,15 @@ jobs:
echo "GitHub API key found."
fi
- - name: Setup PHP 8.0
- uses: shivammathur/setup-php@v2
- with:
- php-version: '8.0'
- tools: composer
- coverage: none
-
- name: Updating Dependencies + zip
run: |
+ cd ~
+ curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
+ HASH=`curl -sS https://composer.github.io/installer.sig`
+ sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
+
+ sudo update-alternatives --set php /usr/bin/php8.0
+
cd /tmp
mkdir linkstack
cd linkstack
From 7ad4a65df2b4dcf710beabcb0c7c823c968e7c7c Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Mon, 26 Jan 2026 19:17:55 +0100
Subject: [PATCH 10/25] Install extensions manually
---
.github/workflows/release.yml | 61 ++++++++++++++++++++++++++++-------
1 file changed, 49 insertions(+), 12 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 15e8c42a6..f6fa18363 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -21,6 +21,44 @@ jobs:
echo "GitHub API key found."
fi
+ - name: Install PHP 8.0 and extensions
+ run: |
+ sudo apt-get update
+
+ # Core PHP 8.0 + CLI
+ sudo apt-get install -y \
+ php8.0 \
+ php8.0-cli \
+ php8.0-common
+
+ # Extensions
+ sudo apt-get install -y \
+ php8.0-bcmath \
+ php8.0-bz2 \
+ php8.0-curl \
+ php8.0-gd \
+ php8.0-intl \
+ php8.0-mbstring \
+ php8.0-mysql \
+ php8.0-pgsql \
+ php8.0-sqlite3 \
+ php8.0-xml \
+ php8.0-zip \
+ php8.0-readline \
+ php-redis \
+ unzip \
+ tzdata
+
+ # Register php8.0 as the default php
+ if update-alternatives --query php >/dev/null 2>&1; then
+ sudo update-alternatives --set php /usr/bin/php8.0
+ else
+ sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.0 1
+ fi
+
+ php -v
+ php -m
+
- name: Updating Dependencies + zip
run: |
cd ~
@@ -28,8 +66,6 @@ jobs:
HASH=`curl -sS https://composer.github.io/installer.sig`
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
- sudo update-alternatives --set php /usr/bin/php8.0
-
cd /tmp
mkdir linkstack
cd linkstack
@@ -168,16 +204,17 @@ jobs:
- name: Upload to Update Server
if: ${{ github.event_name == 'push' }}
run: |
- cd /tmp/linkstack
- ls
- TAG_VERSION="${GITHUB_REF##*/}"
- version=${TAG_VERSION#"v"}
+ cd /tmp/linkstack
+ ls
+ TAG_VERSION="${GITHUB_REF##*/}"
+ version=${TAG_VERSION#"v"}
- # Install the OpenSSH client
- sudo apt-get install -y openssh-client
+ # Install the OpenSSH client and sshpass
+ sudo apt-get update
+ sudo apt-get install -y openssh-client sshpass
- # Clear the remote directory
- sshpass -p "${{ secrets.SERVER_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SERVER_PORT }} ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }} "rm -rf ${{ secrets.REMOTE_PATH }}/*"
+ # Clear the remote directory
+ sshpass -p "${{ secrets.SERVER_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SERVER_PORT }} ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }} "rm -rf ${{ secrets.REMOTE_PATH }}/*"
- # Use SSH to upload the file to the remote server
- sshpass -p "${{ secrets.SERVER_PASSWORD }}" scp -o StrictHostKeyChecking=no -P ${{ secrets.SERVER_PORT }} $version.zip ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.REMOTE_PATH }}
\ No newline at end of file
+ # Use SSH to upload the file to the remote server
+ sshpass -p "${{ secrets.SERVER_PASSWORD }}" scp -o StrictHostKeyChecking=no -P ${{ secrets.SERVER_PORT }} $version.zip ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.REMOTE_PATH }}
\ No newline at end of file
From b7c788133b0e2603ccf62b9cbec134feeb3323d0 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Mon, 26 Jan 2026 19:27:38 +0100
Subject: [PATCH 11/25] Rever to ubuntu-20.04
---
.github/workflows/release.yml | 63 ++++++++---------------------------
1 file changed, 13 insertions(+), 50 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index f6fa18363..063c05c0a 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -6,7 +6,7 @@ on:
jobs:
setup-ubuntu:
- runs-on: ubuntu-latest
+ runs-on: ubuntu-20.04
steps:
- name: Check for GitHub API key
@@ -21,44 +21,6 @@ jobs:
echo "GitHub API key found."
fi
- - name: Install PHP 8.0 and extensions
- run: |
- sudo apt-get update
-
- # Core PHP 8.0 + CLI
- sudo apt-get install -y \
- php8.0 \
- php8.0-cli \
- php8.0-common
-
- # Extensions
- sudo apt-get install -y \
- php8.0-bcmath \
- php8.0-bz2 \
- php8.0-curl \
- php8.0-gd \
- php8.0-intl \
- php8.0-mbstring \
- php8.0-mysql \
- php8.0-pgsql \
- php8.0-sqlite3 \
- php8.0-xml \
- php8.0-zip \
- php8.0-readline \
- php-redis \
- unzip \
- tzdata
-
- # Register php8.0 as the default php
- if update-alternatives --query php >/dev/null 2>&1; then
- sudo update-alternatives --set php /usr/bin/php8.0
- else
- sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.0 1
- fi
-
- php -v
- php -m
-
- name: Updating Dependencies + zip
run: |
cd ~
@@ -66,6 +28,8 @@ jobs:
HASH=`curl -sS https://composer.github.io/installer.sig`
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
+ sudo update-alternatives --set php /usr/bin/php8.0
+
cd /tmp
mkdir linkstack
cd linkstack
@@ -204,17 +168,16 @@ jobs:
- name: Upload to Update Server
if: ${{ github.event_name == 'push' }}
run: |
- cd /tmp/linkstack
- ls
- TAG_VERSION="${GITHUB_REF##*/}"
- version=${TAG_VERSION#"v"}
+ cd /tmp/linkstack
+ ls
+ TAG_VERSION="${GITHUB_REF##*/}"
+ version=${TAG_VERSION#"v"}
- # Install the OpenSSH client and sshpass
- sudo apt-get update
- sudo apt-get install -y openssh-client sshpass
+ # Install the OpenSSH client
+ sudo apt-get install -y openssh-client
- # Clear the remote directory
- sshpass -p "${{ secrets.SERVER_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SERVER_PORT }} ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }} "rm -rf ${{ secrets.REMOTE_PATH }}/*"
+ # Clear the remote directory
+ sshpass -p "${{ secrets.SERVER_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SERVER_PORT }} ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }} "rm -rf ${{ secrets.REMOTE_PATH }}/*"
- # Use SSH to upload the file to the remote server
- sshpass -p "${{ secrets.SERVER_PASSWORD }}" scp -o StrictHostKeyChecking=no -P ${{ secrets.SERVER_PORT }} $version.zip ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.REMOTE_PATH }}
\ No newline at end of file
+ # Use SSH to upload the file to the remote server
+ sshpass -p "${{ secrets.SERVER_PASSWORD }}" scp -o StrictHostKeyChecking=no -P ${{ secrets.SERVER_PORT }} $version.zip ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.REMOTE_PATH }}
From bfac2134a9863efe4cdfc43029e1ad81bcc76dda Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Mon, 26 Jan 2026 19:40:05 +0100
Subject: [PATCH 12/25] Test shivammathur/setup-php
---
.github/workflows/release.yml | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 063c05c0a..5c719cd52 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -6,7 +6,7 @@ on:
jobs:
setup-ubuntu:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- name: Check for GitHub API key
@@ -21,14 +21,21 @@ jobs:
echo "GitHub API key found."
fi
+ - name: Setup PHP 8.0 and Composer
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: '8.0'
+ tools: composer:v2
+ extensions: mbstring, intl, zip, curl, sqlite, pdo_sqlite
+ coverage: none
+
+ - name: Verify PHP version
+ run: php -v
+
- name: Updating Dependencies + zip
run: |
cd ~
- curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
- HASH=`curl -sS https://composer.github.io/installer.sig`
- sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
-
- sudo update-alternatives --set php /usr/bin/php8.0
+ # Composer already provided by setup-php
cd /tmp
mkdir linkstack
@@ -173,11 +180,12 @@ jobs:
TAG_VERSION="${GITHUB_REF##*/}"
version=${TAG_VERSION#"v"}
- # Install the OpenSSH client
- sudo apt-get install -y openssh-client
+ # Install required clients
+ sudo apt-get update
+ sudo apt-get install -y openssh-client sshpass
# Clear the remote directory
sshpass -p "${{ secrets.SERVER_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SERVER_PORT }} ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }} "rm -rf ${{ secrets.REMOTE_PATH }}/*"
# Use SSH to upload the file to the remote server
- sshpass -p "${{ secrets.SERVER_PASSWORD }}" scp -o StrictHostKeyChecking=no -P ${{ secrets.SERVER_PORT }} $version.zip ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.REMOTE_PATH }}
+ sshpass -p "${{ secrets.SERVER_PASSWORD }}" scp -o StrictHostKeyChecking=no -P ${{ secrets.SERVER_PORT }} $version.zip ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.REMOTE_PATH }}
\ No newline at end of file
From f4649ea1686c727ed23fec1a529969eb4498593d Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Mon, 26 Jan 2026 19:46:19 +0100
Subject: [PATCH 13/25] Remove discontinued dependency
---
.github/workflows/release.yml | 2 --
1 file changed, 2 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 5c719cd52..2c5b60b9b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -60,8 +60,6 @@ jobs:
cp "../../version.json" "version.json"
composer update --no-dev --no-scripts
-
- php artisan lang:update
php artisan migrate
php artisan db:seed
From dca586e8b8946a779cb212d21791cff6308fa7c0 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Mon, 26 Jan 2026 19:47:44 +0100
Subject: [PATCH 14/25] Update version.json to 4.8.5
---
version.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/version.json b/version.json
index 57c4b30bb..bb6ebd31d 100644
--- a/version.json
+++ b/version.json
@@ -1 +1 @@
-4.8.4
+4.8.5
From f8734c1b80739a35bb53e888e8db91601480f208 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Tue, 17 Feb 2026 17:49:51 +0100
Subject: [PATCH 15/25] Fix dependencies
production dependencies
---
composer.json | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/composer.json b/composer.json
index 3a51d8766..c86f0d1ea 100644
--- a/composer.json
+++ b/composer.json
@@ -13,24 +13,25 @@
"geo-sot/laravel-env-editor": "^2.0",
"guzzlehttp/guzzle": "^7.4",
"jeroendesloovere/vcard": "^1.7",
+ "laravel-lang/common": "^2.0",
"laravel/framework": "^9.52.4",
"laravel/socialite": "^5.5",
"laravel/tinker": "^2.5",
"livewire/livewire": "^2.12",
+ "nunomaduro/collision": "^6.1",
"rappasoft/laravel-livewire-tables": "^2.15",
"simplesoftwareio/simple-qrcode": "~4",
- "spatie/laravel-backup": "^8.1.5"
+ "spatie/laravel-backup": "^8.1.5",
+ "symfony/yaml": "^7.4"
},
"require-dev": {
"barryvdh/laravel-ide-helper": "^2.12",
"fakerphp/faker": "^1.9.1",
- "laravel-lang/common": "^2.0",
"laravel/breeze": "^1.1",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.2",
- "nunomaduro/collision": "^6.1",
- "phpunit/phpunit": "^9.3.3",
- "spatie/laravel-ignition": "^1.0"
+ "spatie/laravel-ignition": "^1.0",
+ "phpunit/phpunit": "^9.3.3"
},
"autoload": {
"files": [
From 46ba4d0c5d7deea5b741a93c55e8671893f3fbb4 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Tue, 17 Feb 2026 17:54:45 +0100
Subject: [PATCH 16/25] Update version.json to 4.8.6
---
version.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/version.json b/version.json
index bb6ebd31d..7ea59483d 100644
--- a/version.json
+++ b/version.json
@@ -1 +1 @@
-4.8.5
+4.8.6
From e2631c0d09f3e8fe2ddb6b4f10e4534276a45d2c Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Tue, 17 Feb 2026 18:38:54 +0100
Subject: [PATCH 17/25] Fix main beta version missmatch
https://github.com/LinkStackOrg/LinkStack/issues/967
---
composer.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/composer.json b/composer.json
index c86f0d1ea..a830b32fe 100644
--- a/composer.json
+++ b/composer.json
@@ -22,7 +22,7 @@
"rappasoft/laravel-livewire-tables": "^2.15",
"simplesoftwareio/simple-qrcode": "~4",
"spatie/laravel-backup": "^8.1.5",
- "symfony/yaml": "^7.4"
+ "symfony/yaml": "^6.4"
},
"require-dev": {
"barryvdh/laravel-ide-helper": "^2.12",
From 965ddb7c2e99897f32b3840af4ef304fa1ed0576 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Tue, 17 Feb 2026 18:43:00 +0100
Subject: [PATCH 18/25] Update composer.json
---
composer.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/composer.json b/composer.json
index a830b32fe..49aa11858 100644
--- a/composer.json
+++ b/composer.json
@@ -22,7 +22,7 @@
"rappasoft/laravel-livewire-tables": "^2.15",
"simplesoftwareio/simple-qrcode": "~4",
"spatie/laravel-backup": "^8.1.5",
- "symfony/yaml": "^6.4"
+ "symfony/yaml": "^6.0"
},
"require-dev": {
"barryvdh/laravel-ide-helper": "^2.12",
From 2dfa5444c13abaa74ab9d6d857c8b0f2a73351f7 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Tue, 17 Feb 2026 18:44:33 +0100
Subject: [PATCH 19/25] Update version.json to 4.8.6
From 2de0200e3bf10957df26c3b21aa1bc24454be5f6 Mon Sep 17 00:00:00 2001
From: Julian Prieber
Date: Fri, 5 Jun 2026 14:12:15 +0200
Subject: [PATCH 20/25] Aktualisieren von composer.json
---
composer.json | 1 -
1 file changed, 1 deletion(-)
diff --git a/composer.json b/composer.json
index 49aa11858..5d4abbb55 100644
--- a/composer.json
+++ b/composer.json
@@ -13,7 +13,6 @@
"geo-sot/laravel-env-editor": "^2.0",
"guzzlehttp/guzzle": "^7.4",
"jeroendesloovere/vcard": "^1.7",
- "laravel-lang/common": "^2.0",
"laravel/framework": "^9.52.4",
"laravel/socialite": "^5.5",
"laravel/tinker": "^2.5",
From 1f1818280e980b217f95e6284d26a668e143b222 Mon Sep 17 00:00:00 2001
From: az10b
Date: Mon, 8 Jun 2026 15:48:05 -0500
Subject: [PATCH 21/25] Fix IDOR in link management endpoints (#975)
Three link management endpoints accept user-supplied link IDs
without verifying ownership, allowing any authenticated user to
modify other users' links:
- POST /studio/edit-link (saveLink): add ownership check before update
- POST /studio/sort-link (sortLinks): add user_id where clause
- GET /clearIcon/{id}: add existing link-id middleware to route
Co-authored-by: aazad
---
app/Http/Controllers/UserController.php | 4 ++++
routes/web.php | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index 3014d810f..6fa392c38 100755
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -292,6 +292,9 @@ public function saveLink(Request $request)
$filteredLinkData['type_params'] = json_encode($customParams);
if ($OrigLink) {
+ if ($OrigLink->user_id !== $userId) {
+ abort(403);
+ }
$currentValues = $OrigLink->getAttributes();
$nonNullFilteredLinkData = array_filter($filteredLinkData, function($value) {return !is_null($value);});
$updatedValues = array_merge($currentValues, $nonNullFilteredLinkData);
@@ -335,6 +338,7 @@ public function sortLinks(Request $request)
$linkNewOrders[$linkId] = $newOrder;
Link::where("id", $linkId)
+ ->where("user_id", Auth::user()->id)
->update([
'order' => $newOrder
]);
diff --git a/routes/web.php b/routes/web.php
index c58d8b1f7..3bf6335cc 100755
--- a/routes/web.php
+++ b/routes/web.php
@@ -120,7 +120,7 @@
Route::get('/studio/profile', [UserController::class, 'showProfile'])->name('showProfile');
Route::post('/studio/profile', [UserController::class, 'editProfile'])->name('editProfile');
Route::post('/edit-icons', [UserController::class, 'editIcons'])->name('editIcons');
-Route::get('/clearIcon/{id}', [UserController::class, 'clearIcon'])->name('clearIcon');
+Route::get('/clearIcon/{id}', [UserController::class, 'clearIcon'])->name('clearIcon')->middleware('link-id');
Route::get('/studio/page/delprofilepicture', [UserController::class, 'delProfilePicture'])->name('delProfilePicture');
Route::get('/studio/delete-user/{id}', [UserController::class, 'deleteUser'])->name('deleteUser')->middleware('verified');
Route::post('/auth-as', [AdminController::class, 'authAs'])->name('authAs');
From a36c1dd59ddbce60e1568dffc52f07df95d5d7a5 Mon Sep 17 00:00:00 2001
From: az10b
Date: Mon, 8 Jun 2026 15:51:26 -0500
Subject: [PATCH 22/25] Fix stored XSS in user profile description (#974)
strip_tags() allows tags but does not remove HTML attributes,
allowing event handlers like onmouseover to pass through. The
description is rendered unescaped via {!! !!} in linkinfo.blade.php,
enabling stored XSS.
Add regex filters using word boundary matching to strip all on* event
handler attributes (both quoted and unquoted values) from the sanitized
description before saving to the database.
Co-authored-by: aazad
---
app/Http/Controllers/UserController.php | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index 6fa392c38..d8ce5e07f 100755
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -613,6 +613,8 @@ public function editPage(Request $request)
$profilePhoto = $request->file('image');
$pageName = $request->littlelink_name;
$pageDescription = strip_tags($request->pageDescription, '