diff --git a/.env.example b/.env.example
index dbdbdf6..46b7230 100644
--- a/.env.example
+++ b/.env.example
@@ -61,14 +61,6 @@ REPLICADO_CODUNDCLG=
REPLICADO_SYBASE=
REPLICADO_FAKE=1
-# SENHAUNICA-SOCIALITE ######################################
-# https://github.com/uspdev/senhaunica-socialite
-SENHAUNICA_KEY=faker
-SENHAUNICA_SECRET=faker
-SENHAUNICA_CALLBACK_ID=1
-SENHAUNICA_ADMINS=110011
-SENHAUNICA_DEV="http://auth.local:3141/wsusuario/oauth"
-
# URL do servidor oauth no ambiente de dev (default: no)
#SENHAUNICA_DEV="https://dev.uspdigital.usp.br/wsusuario/oauth"
@@ -94,4 +86,12 @@ DUSK_DRIVER_URL='http://selenium:4444/wd/hub'
DUSK_START_MAXIMIZED=true
DUSK_HEADLESS_DISABLED=true
-USP_THEME_SKIN=uspdev
+# SENHAUNICA-SOCIALITE ######################################
+# https://github.com/uspdev/senhaunica-socialite
+SENHAUNICA_KEY=faker
+SENHAUNICA_SECRET=faker
+SENHAUNICA_CALLBACK_ID=1
+SENHAUNICA_ADMINS=1111
+SENHAUNICA_DEV="http://auth.local:3141/wsusuario/oauth"
+
+USP_THEME_SKIN=uspdev
diff --git a/app/Http/Controllers/Api/EquipamentoController.php b/app/Http/Controllers/Api/EquipamentoController.php
index e234119..a1f49af 100644
--- a/app/Http/Controllers/Api/EquipamentoController.php
+++ b/app/Http/Controllers/Api/EquipamentoController.php
@@ -17,15 +17,17 @@ public function store(Request $request)
// Validação dos campos
$validated = $request->validate([
- 'hostname' => 'required',
- 'model' => 'required',
+ 'hostname' => 'required|string|max:255',
'ip' => 'required|ip',
- 'qtde_portas' => 'required|integer|min:1|max:48',
'rack_id' => 'required|exists:racks,id',
+ 'modelo_switch_id' => 'required|exists:modelo_switches,id',
+ 'tipo' => 'required|in:A,W,C,V',
+ 'comentario' => 'nullable|string',
'user_id' => 'required|exists:users,id',
- 'poe_type' => 'boolean'
]);
+ $validated['ordem'] = Equipamento::where('rack_id', $validated['rack_id'])->max('ordem') + 1;
+
$equipamento = Equipamento::updateOrCreate(
['hostname' => $validated['hostname']],
$validated
@@ -33,7 +35,7 @@ public function store(Request $request)
return response()->json([
'message' => 'Equipamento criado/atualizado com sucesso',
- 'equipamento' => $equipamento
+ 'equipamento' => $equipamento->load('modeloSwitch')
], 201);
}
}
diff --git a/app/Http/Controllers/EquipamentoController.php b/app/Http/Controllers/EquipamentoController.php
index c6f6b2e..cba8eb3 100644
--- a/app/Http/Controllers/EquipamentoController.php
+++ b/app/Http/Controllers/EquipamentoController.php
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Models\Equipamento;
+use App\Models\ModeloSwitch;
use App\Models\Predio;
use App\Models\Rack;
use App\Http\Requests\EquipamentoRequest;
@@ -14,20 +15,24 @@ class EquipamentoController extends Controller
public function create(Request $request)
{
Gate::authorize('admin');
-
+
return view('equipamentos.create', [
'racks' => Rack::all(),
- 'predios' => Predio::all(),
+ 'modelos' => ModeloSwitch::orderBy('fabricante')->orderBy('nome')->get(),
'rack_selecionado' => $request->input('rack_id')
]);
}
public function store(EquipamentoRequest $request)
- {
+ {
Gate::authorize('admin');
-
- $equipamento = Equipamento::create($request->validated() + ['user_id' => auth()->id()]);
-
+
+ $data = $request->validated();
+ $data['user_id'] = auth()->id();
+ $data['ordem'] = Equipamento::where('rack_id', $request->rack_id)->max('ordem') + 1;
+
+ $equipamento = Equipamento::create($data);
+
session()->flash('alert-success', 'Equipamento criado com sucesso!');
return redirect("/racks/{$equipamento->rack_id}");
}
@@ -35,29 +40,26 @@ public function store(EquipamentoRequest $request)
public function show(Equipamento $equipamento)
{
Gate::authorize('admin');
-
- return view('equipamentos.show', [
- 'equipamento' => $equipamento
- ]);
+ return view('equipamentos.show', ['equipamento' => $equipamento]);
}
public function edit(Equipamento $equipamento)
{
Gate::authorize('admin');
-
+
return view('equipamentos.edit', [
'equipamento' => $equipamento,
- 'predios' => Predio::all(),
- 'racks' => Rack::all()
+ 'racks' => Rack::all(),
+ 'modelos' => ModeloSwitch::orderBy('fabricante')->orderBy('nome')->get(),
]);
}
public function update(EquipamentoRequest $request, Equipamento $equipamento)
{
Gate::authorize('admin');
-
+
$equipamento->update($request->validated() + ['user_id' => auth()->id()]);
-
+
session()->flash('alert-success', 'Equipamento atualizado com sucesso!');
return redirect("/equipamentos/{$equipamento->id}");
}
@@ -65,10 +67,10 @@ public function update(EquipamentoRequest $request, Equipamento $equipamento)
public function destroy(Equipamento $equipamento)
{
Gate::authorize('admin');
-
+
$rack_id = $equipamento->rack_id;
$equipamento->delete();
-
+
session()->flash('alert-success', 'Equipamento removido com sucesso!');
return redirect("/racks/{$rack_id}");
}
diff --git a/app/Http/Controllers/ModeloSwitchController.php b/app/Http/Controllers/ModeloSwitchController.php
new file mode 100644
index 0000000..adf1c0e
--- /dev/null
+++ b/app/Http/Controllers/ModeloSwitchController.php
@@ -0,0 +1,66 @@
+ ModeloSwitch::orderBy('fabricante')->orderBy('nome')->get(),
+ ]);
+ }
+
+ public function create()
+ {
+ Gate::authorize('admin');
+ return view('modelo-switches.create');
+ }
+
+ public function store(ModeloSwitchRequest $request)
+ {
+ Gate::authorize('admin');
+ ModeloSwitch::create($request->validated() + ['user_id' => auth()->id()]);
+ session()->flash('alert-success', 'Modelo cadastrado com sucesso!');
+ return redirect('/modelo-switches');
+ }
+
+ public function show(ModeloSwitch $modeloSwitch)
+ {
+ Gate::authorize('admin');
+ return view('modelo-switches.show', ['modelo' => $modeloSwitch]);
+ }
+
+ public function edit(ModeloSwitch $modeloSwitch)
+ {
+ Gate::authorize('admin');
+ return view('modelo-switches.edit', ['modelo' => $modeloSwitch]);
+ }
+
+ public function update(ModeloSwitchRequest $request, ModeloSwitch $modeloSwitch)
+ {
+ Gate::authorize('admin');
+ $modeloSwitch->update($request->validated() + ['user_id' => auth()->id()]);
+ session()->flash('alert-success', 'Modelo atualizado com sucesso!');
+ return redirect('/modelo-switches');
+ }
+
+ public function destroy(ModeloSwitch $modeloSwitch)
+ {
+ Gate::authorize('admin');
+
+ if ($modeloSwitch->equipamentos()->count() > 0) {
+ session()->flash('alert-danger', 'Não é possível remover: existem equipamentos usando este modelo.');
+ return back();
+ }
+
+ $modeloSwitch->delete();
+ session()->flash('alert-success', 'Modelo removido com sucesso!');
+ return redirect('/modelo-switches');
+ }
+}
\ No newline at end of file
diff --git a/app/Http/Controllers/PredioController.php b/app/Http/Controllers/PredioController.php
index 8960f7e..dceb46b 100644
--- a/app/Http/Controllers/PredioController.php
+++ b/app/Http/Controllers/PredioController.php
@@ -35,8 +35,8 @@ public function show(Predio $predio)
Gate::authorize('admin');
return view('predios.show', [
'predio' => $predio,
- 'racks' => $predio->racks,
- 'salas' => $predio->salas,
+ 'racks' => $predio->racks()->orderBy('nome')->get(),
+ 'salas' => $predio->salas()->orderBy('nome')->get(),
]);
}
diff --git a/app/Http/Controllers/RackController.php b/app/Http/Controllers/RackController.php
index 7626a0c..b206bac 100644
--- a/app/Http/Controllers/RackController.php
+++ b/app/Http/Controllers/RackController.php
@@ -5,6 +5,8 @@
use Illuminate\Http\Request;
use App\Models\Rack;
use App\Models\Predio;
+use App\Models\PatchPanel;
+use App\Models\Equipamento;
use App\Http\Requests\RackRequest;
use Illuminate\Support\Facades\Gate;
@@ -64,7 +66,7 @@ public function destroy(Rack $rack)
{
Gate::authorize('admin');
- if ($rack->patchPanels->isEmpty()) {
+ if ($rack->patchPanels->isEmpty() && $rack->equipamentos->isEmpty()){
$rack->delete();
session()->flash('alert-success', 'Rack deletado com sucesso');
} else {
@@ -72,4 +74,28 @@ public function destroy(Rack $rack)
}
return redirect()->back();
}
+
+ public function reordenar(Rack $rack, Request $request)
+ {
+ Gate::authorize('admin');
+
+ $request->validate([
+ 'itens' => 'required|array',
+ 'itens.*.tipo' => 'required|in:equipamento,patchpanel',
+ 'itens.*.id' => 'required|integer',
+ 'itens.*.ordem' => 'required|integer',
+ ]);
+
+ foreach ($request->itens as $item) {
+ if ($item['tipo'] === 'equipamento') {
+ Equipamento::where('id', $item['id'])->where('rack_id', $rack->id)
+ ->update(['ordem' => $item['ordem']]);
+ } else {
+ PatchPanel::where('id', $item['id'])->where('rack_id', $rack->id)
+ ->update(['ordem' => $item['ordem']]);
+ }
+ }
+
+ return response()->json(['success' => true]);
+ }
}
diff --git a/app/Http/Controllers/SalaController.php b/app/Http/Controllers/SalaController.php
index 4a75aae..6d73a12 100644
--- a/app/Http/Controllers/SalaController.php
+++ b/app/Http/Controllers/SalaController.php
@@ -73,132 +73,6 @@ public function update(SalaRequest $request, Sala $sala)
return redirect("/salas/{$sala->id}");
}
- public function selecionarRack(Sala $sala)
- {
- Gate::authorize('admin');
- $racks = $sala->predio->racks;
-
- return view('salas.selecionar-rack', [
- 'sala' => $sala,
- 'racks' => $racks
- ]);
- }
-
- public function selecionarPatchPanel(Sala $sala, Rack $rack, Request $request)
- {
- Gate::authorize('admin');
- $patchPanelsDisponiveis = $rack->patchPanels()
- ->withCount(['salasVinculadas as portas_ocupadas' => function($query) {
- $query->select(\DB::raw('count(distinct porta)'));
- }])
- ->get();
-
- return view('salas.selecionar-patchpanel', [
- 'sala' => $sala,
- 'rack' => $rack,
- 'patchPanels' => $patchPanelsDisponiveis,
- 'selectedPatchPanelId' => $request->patch_panel_id
- ]);
- }
-
- public function vincularPatchPanel(VincularPortaSalaRequest $request, Sala $sala)
- {
- Gate::authorize('admin');
-
- $patchPanel = PatchPanel::findOrFail($request->patch_panel_id);
- $portas = array_map('intval', $request->portas ?? []);
- $tiposPorta = $request->tipos_porta ?? [];
-
- $portasOcupadas = $patchPanel->salasVinculadas()
- ->whereIn('porta', $portas)
- ->pluck('porta')
- ->toArray();
-
- $portasDisponiveis = array_diff($portas, $portasOcupadas);
-
- foreach ($portasDisponiveis as $porta) {
- $dadosVinculo = [
- 'porta' => $porta,
- 'user_id' => auth()->id(),
- 'created_at' => now(),
- 'updated_at' => now()
- ];
-
- // Só adiciona tipo_porta_id se foi selecionado para esta porta
- if (!empty($tiposPorta[$porta])) {
- $dadosVinculo['tipo_porta_id'] = $tiposPorta[$porta];
- }
-
- $sala->patchPanels()->attach($patchPanel->id, $dadosVinculo);
- }
-
- session()->flash('alert-success', 'Portas vinculadas com sucesso!');
- return redirect("/salas/{$sala->id}");
- }
-
- public function desvincularPatchPanel(Sala $sala, PatchPanel $patchPanel, Request $request)
- {
- Gate::authorize('admin');
- $porta = $request->query('porta');
-
- $sala->patchPanels()
- ->wherePivot('porta', $porta)
- ->where('patch_panel_id', $patchPanel->id)
- ->detach($patchPanel->id);
-
- session()->flash('alert-success', 'Porta desvinculada com sucesso!');
-
- return redirect("/salas/{$sala->id}");
- }
-
- public function editarTipoPorta(Sala $sala, PatchPanel $patchPanel, Request $request)
- {
- Gate::authorize('admin');
- $porta = $request->query('porta');
-
- // Verificar se existe o vínculo
- $vinculo = $sala->patchPanels()
- ->wherePivot('porta', $porta)
- ->where('patch_panel_id', $patchPanel->id)
- ->first();
-
- if (!$vinculo) {
- session()->flash('alert-danger', 'Vínculo não encontrado!');
- return redirect("/salas/{$sala->id}");
- }
-
- return view('salas.editar-tipo-porta', [
- 'sala' => $sala,
- 'patchPanel' => $patchPanel,
- 'porta' => $porta,
- 'tipoPortaAtual' => $vinculo->pivot->tipo_porta_id,
- 'tipoPortas' => \App\Models\TipoPorta::all()
- ]);
- }
-
- public function atualizarTipoPorta(Request $request, Sala $sala, PatchPanel $patchPanel)
- {
- Gate::authorize('admin');
- $porta = $request->porta;
-
- // Validar a requisição
- $request->validate([
- 'tipo_porta_id' => 'nullable|exists:tipo_portas,id'
- ]);
-
- // Atualizar o tipo de porta no vínculo
- $sala->patchPanels()
- ->wherePivot('porta', $porta)
- ->where('patch_panel_id', $patchPanel->id)
- ->updateExistingPivot($patchPanel->id, [
- 'tipo_porta_id' => $request->tipo_porta_id,
- 'updated_at' => now()
- ]);
-
- session()->flash('alert-success', 'Tipo de porta atualizado com sucesso!');
- return redirect("/salas/{$sala->id}");
- }
-
public function destroy(Sala $sala)
{
Gate::authorize('admin');
diff --git a/app/Http/Requests/EquipamentoRequest.php b/app/Http/Requests/EquipamentoRequest.php
index 32f75e5..3279dbe 100644
--- a/app/Http/Requests/EquipamentoRequest.php
+++ b/app/Http/Requests/EquipamentoRequest.php
@@ -25,11 +25,12 @@ public function rules(): array
$rules = [
'hostname' => 'required|string|max:255|unique:equipamentos,hostname,' . $equipamentoId,
- 'model' => 'required|string|max:255',
'ip' => 'required|ip',
- 'qtde_portas' => 'required|integer|min:1|max:48',
'rack_id' => 'required|exists:racks,id',
- 'poe_type' => 'boolean'
+ 'modelo_switch_id' => 'required|exists:modelo_switches,id',
+ 'tipo' => 'required|in:A,W,C,V',
+ 'ordem' => 'nullable|integer|min:0',
+ 'comentario' => 'nullable|string',
];
return $rules;
@@ -39,19 +40,13 @@ public function messages(): array
{
return [
'hostname.required' => 'O hostname é obrigatório',
- 'hostname.max' => 'O hostname não pode ter mais que 255 caracteres',
'hostname.unique' => 'Já existe um equipamento com este hostname',
- 'model.required' => 'O modelo é obrigatório',
- 'model.max' => 'O modelo não pode ter mais que 255 caracteres',
'ip.required' => 'O IP é obrigatório',
'ip.ip' => 'Informe um IP válido',
- 'qtde_portas.required' => 'A quantidade de portas é obrigatória',
- 'qtde_portas.integer' => 'A quantidade de portas deve ser um número inteiro',
- 'qtde_portas.min' => 'A quantidade de portas deve ser pelo menos 1',
- 'qtde_portas.max' => 'A quantidade de portas não pode ser maior que 48',
'rack_id.required' => 'Selecione um rack',
- 'rack_id.exists' => 'Rack selecionado é inválido',
- 'poe_type.boolean' => 'O campo PoE deve ser verdadeiro ou falso'
+ 'modelo_switch_id.required' => 'Selecione um modelo de switch',
+ 'tipo.required' => 'Selecione o tipo do equipamento',
+ 'tipo.in' => 'Tipo inválido',
];
}
}
diff --git a/app/Http/Requests/ModeloSwitchRequest.php b/app/Http/Requests/ModeloSwitchRequest.php
new file mode 100644
index 0000000..61c4eda
--- /dev/null
+++ b/app/Http/Requests/ModeloSwitchRequest.php
@@ -0,0 +1,41 @@
+|string>
+ */
+ public function rules(): array
+ {
+ return [
+ 'nome' => 'required|string|max:255',
+ 'fabricante' => 'required|string|max:255',
+ 'qtde_portas' => 'required|integer|min:1|max:96',
+ 'qtde_portas_poe' => 'nullable|integer|min:0|max:96',
+ ];
+ }
+
+ public function messages(): array
+ {
+ return [
+ 'nome.required' => 'O nome do modelo é obrigatório',
+ 'fabricante.required' => 'O fabricante é obrigatório',
+ 'qtde_portas.required' => 'A quantidade de portas é obrigatória',
+ ];
+ }
+}
diff --git a/app/Http/Requests/VincularPortaSalaRequest.php b/app/Http/Requests/VincularPortaSalaRequest.php
deleted file mode 100644
index 54962e4..0000000
--- a/app/Http/Requests/VincularPortaSalaRequest.php
+++ /dev/null
@@ -1,43 +0,0 @@
- 'required|exists:racks,id',
- 'patch_panel_id' => 'required|exists:patch_panels,id',
- 'portas' => 'required|array|min:1',
- 'portas.*' => 'integer|min:1',
- 'tipos_porta' => 'required|array',
- 'tipos_porta.*' => 'nullable|exists:tipo_portas,id'
- ];
- }
-
- public function messages(): array
- {
- return [
- 'rack_id.required' => 'O rack é obrigatório',
- 'rack_id.exists' => 'O rack selecionado é inválido',
- 'patch_panel_id.required' => 'O patch panel é obrigatório',
- 'patch_panel_id.exists' => 'O patch panel selecionado é inválido',
- 'portas.required' => 'Selecione pelo menos uma porta',
- 'portas.array' => 'O formato das portas é inválido',
- 'portas.min' => 'Selecione pelo menos uma porta',
- 'portas.*.integer' => 'O número da porta deve ser um número inteiro',
- 'portas.*.min' => 'O número da porta deve ser pelo menos 1',
- 'tipos_porta.required' => 'Os tipos de porta são obrigatórios',
- 'tipos_porta.array' => 'O formato dos tipos de porta é inválido',
- 'tipos_porta.*.exists' => 'Tipo de porta inválido'
- ];
- }
-}
\ No newline at end of file
diff --git a/app/Models/Equipamento.php b/app/Models/Equipamento.php
index 1669e97..379266d 100644
--- a/app/Models/Equipamento.php
+++ b/app/Models/Equipamento.php
@@ -4,7 +4,6 @@
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
-use App\Models\Porta;
class Equipamento extends Model
{
@@ -12,16 +11,13 @@ class Equipamento extends Model
protected $fillable = [
'hostname',
- 'model',
'ip',
- 'qtde_portas',
'rack_id',
+ 'modelo_switch_id',
'user_id',
- 'poe_type'
- ];
-
- protected $casts = [
- 'poe_type' => 'boolean'
+ 'tipo',
+ 'ordem',
+ 'comentario',
];
public function portas()
@@ -34,8 +30,50 @@ public function rack()
return $this->belongsTo(Rack::class);
}
+ public function modeloSwitch()
+ {
+ return $this->belongsTo(ModeloSwitch::class);
+ }
+
public function user()
{
return $this->belongsTo(User::class);
}
+
+ public function getQtdePortasAttribute()
+ {
+ return $this->modeloSwitch?->qtde_portas ?? 0;
+ }
+
+ public function getQtdePortasPoeAttribute()
+ {
+ return $this->modeloSwitch?->qtde_portas_poe ?? 0;
+ }
+
+ public function getPoeTypeAttribute()
+ {
+ return ($this->modeloSwitch?->qtde_portas_poe ?? 0) > 0;
+ }
+
+ public function getTipoLabelAttribute(): string
+ {
+ return match($this->tipo) {
+ 'A' => 'Acesso',
+ 'W' => 'Wireless',
+ 'C' => 'Câmera',
+ 'V' => 'VoIP',
+ default => 'Desconhecido',
+ };
+ }
+
+ public function getCorTipoAttribute(): string
+ {
+ return match($this->tipo) {
+ 'A' => 'primary',
+ 'W' => 'info',
+ 'C' => 'danger',
+ 'V' => 'success',
+ default => 'secondary',
+ };
+ }
}
\ No newline at end of file
diff --git a/app/Models/ModeloSwitch.php b/app/Models/ModeloSwitch.php
new file mode 100644
index 0000000..d3946cc
--- /dev/null
+++ b/app/Models/ModeloSwitch.php
@@ -0,0 +1,26 @@
+hasMany(Equipamento::class);
+ }
+
+ public function user()
+ {
+ return $this->belongsTo(User::class);
+ }
+}
diff --git a/app/Models/Rack.php b/app/Models/Rack.php
index 6e43243..6eafc72 100644
--- a/app/Models/Rack.php
+++ b/app/Models/Rack.php
@@ -6,11 +6,7 @@
class Rack extends Model
{
- protected $fillable = [
- 'nome',
- 'predio_id',
- 'user_id',
- ];
+ protected $fillable = ['nome', 'predio_id', 'user_id'];
public function predio()
{
@@ -19,11 +15,48 @@ public function predio()
public function patchPanels()
{
- return $this->hasMany(PatchPanel::class);
+ return $this->hasMany(PatchPanel::class)->orderBy('ordem');
}
public function equipamentos()
{
- return $this->hasMany(Equipamento::class);
+ return $this->hasMany(Equipamento::class)->orderBy('ordem');
}
-}
+
+ public function itensVisualizacao(): array
+ {
+ $itens = [];
+
+ foreach ($this->equipamentos()->with('modeloSwitch')->orderBy('ordem')->get() as $eq) {
+ $itens[] = [
+ 'id' => $eq->id,
+ 'tipo_item' => 'equipamento',
+ 'nome' => $eq->hostname,
+ 'subtitulo' => $eq->modeloSwitch?->nome ?? 'Sem modelo',
+ 'ordem' => $eq->ordem,
+ 'cor' => $eq->cor_tipo,
+ 'tipo' => $eq->tipo,
+ 'url' => "/equipamentos/{$eq->id}",
+ 'icone' => 'fa-network-wired',
+ ];
+ }
+
+ foreach ($this->patchPanels()->orderBy('ordem')->get() as $pp) {
+ $itens[] = [
+ 'id' => $pp->id,
+ 'tipo_item' => 'patchpanel',
+ 'nome' => $pp->nome,
+ 'subtitulo' => "{$pp->qtde_portas} portas",
+ 'ordem' => $pp->ordem,
+ 'cor' => 'warning',
+ 'tipo' => null,
+ 'url' => "/patch-panels/{$pp->id}",
+ 'icone' => 'fa-th',
+ ];
+ }
+
+ usort($itens, fn($a, $b) => $a['ordem'] <=> $b['ordem']);
+
+ return $itens;
+ }
+}
\ No newline at end of file
diff --git a/app/Models/User.php b/app/Models/User.php
index 125ede6..0260745 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -13,7 +13,6 @@ class User extends Authenticatable
{
use \Spatie\Permission\Traits\HasRoles;
use HasFactory, Notifiable, HasRoles, HasSenhaunica;
-
/**
* The attributes that are mass assignable.
*
diff --git a/composer.lock b/composer.lock
index ab68788..3241973 100644
--- a/composer.lock
+++ b/composer.lock
@@ -289,16 +289,16 @@
},
{
"name": "doctrine/dbal",
- "version": "4.4.3",
+ "version": "4.4.4",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "61e730f1658814821a85f2402c945f3883407dec"
+ "reference": "fb9e0ffe15e1590e24dc61c0c0a23f9a33ee42ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/61e730f1658814821a85f2402c945f3883407dec",
- "reference": "61e730f1658814821a85f2402c945f3883407dec",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/fb9e0ffe15e1590e24dc61c0c0a23f9a33ee42ce",
+ "reference": "fb9e0ffe15e1590e24dc61c0c0a23f9a33ee42ce",
"shasum": ""
},
"require": {
@@ -375,7 +375,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/4.4.3"
+ "source": "https://github.com/doctrine/dbal/tree/4.4.4"
},
"funding": [
{
@@ -391,7 +391,7 @@
"type": "tidelift"
}
],
- "time": "2026-03-20T08:52:12+00:00"
+ "time": "2026-07-21T14:34:40+00:00"
},
{
"name": "doctrine/deprecations",
@@ -896,16 +896,16 @@
},
{
"name": "firebase/php-jwt",
- "version": "v7.0.5",
+ "version": "v7.1.0",
"source": {
"type": "git",
- "url": "https://github.com/firebase/php-jwt.git",
- "reference": "47ad26bab5e7c70ae8a6f08ed25ff83631121380"
+ "url": "https://github.com/googleapis/php-jwt.git",
+ "reference": "b374a5d1a4f1f67fadc2165cdb284645945e2fc0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/firebase/php-jwt/zipball/47ad26bab5e7c70ae8a6f08ed25ff83631121380",
- "reference": "47ad26bab5e7c70ae8a6f08ed25ff83631121380",
+ "url": "https://api.github.com/repos/googleapis/php-jwt/zipball/b374a5d1a4f1f67fadc2165cdb284645945e2fc0",
+ "reference": "b374a5d1a4f1f67fadc2165cdb284645945e2fc0",
"shasum": ""
},
"require": {
@@ -914,6 +914,7 @@
"require-dev": {
"guzzlehttp/guzzle": "^7.4",
"phpfastcache/phpfastcache": "^9.2",
+ "phpseclib/phpseclib": "~3.0",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.5",
"psr/cache": "^2.0||^3.0",
@@ -922,7 +923,8 @@
},
"suggest": {
"ext-sodium": "Support EdDSA (Ed25519) signatures",
- "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present"
+ "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present",
+ "phpseclib/phpseclib": "Support PS256 (RSASSA-PSS) signatures"
},
"type": "library",
"autoload": {
@@ -947,16 +949,16 @@
}
],
"description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
- "homepage": "https://github.com/firebase/php-jwt",
+ "homepage": "https://github.com/googleapis/php-jwt",
"keywords": [
"jwt",
"php"
],
"support": {
- "issues": "https://github.com/firebase/php-jwt/issues",
- "source": "https://github.com/firebase/php-jwt/tree/v7.0.5"
+ "issues": "https://github.com/googleapis/php-jwt/issues",
+ "source": "https://github.com/googleapis/php-jwt/tree/v7.1.0"
},
- "time": "2026-04-01T20:38:03+00:00"
+ "time": "2026-06-11T17:54:14+00:00"
},
{
"name": "fruitcake/php-cors",
@@ -1031,24 +1033,24 @@
},
{
"name": "graham-campbell/result-type",
- "version": "v1.1.4",
+ "version": "v1.2.0",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Result-Type.git",
- "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b"
+ "reference": "adccca3324eece92ca35463648c12b9e6293c05b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b",
- "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b",
+ "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/adccca3324eece92ca35463648c12b9e6293c05b",
+ "reference": "adccca3324eece92ca35463648c12b9e6293c05b",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.5"
+ "phpoption/phpoption": "^1.10"
},
"require-dev": {
- "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7"
+ "phpunit/phpunit": "^8.5.52 || ^9.6.34 || ^10.5.63 || ^11.5.55 || ^12.5.14"
},
"type": "library",
"autoload": {
@@ -1077,7 +1079,7 @@
],
"support": {
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
- "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.4"
+ "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.2.0"
},
"funding": [
{
@@ -1089,29 +1091,30 @@
"type": "tidelift"
}
],
- "time": "2025-12-27T19:43:20+00:00"
+ "time": "2026-08-24T09:06:52+00:00"
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.10.0",
+ "version": "7.15.5",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4"
+ "reference": "ee80339fd9177ba44c49cdb653ff02a4d1106b9a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4",
- "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ee80339fd9177ba44c49cdb653ff02a4d1106b9a",
+ "reference": "ee80339fd9177ba44c49cdb653ff02a4d1106b9a",
"shasum": ""
},
"require": {
"ext-json": "*",
- "guzzlehttp/promises": "^2.3",
- "guzzlehttp/psr7": "^2.8",
+ "guzzlehttp/promises": "^2.5.3",
+ "guzzlehttp/psr7": "^2.13.1",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
- "symfony/deprecation-contracts": "^2.2 || ^3.0"
+ "symfony/deprecation-contracts": "^2.5 || ^3.0",
+ "symfony/polyfill-php80": "^1.25"
},
"provide": {
"psr/http-client-implementation": "1.0"
@@ -1119,9 +1122,10 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"ext-curl": "*",
- "guzzle/client-integration-tests": "3.0.2",
+ "guzzle/client-integration-tests": "3.0.3",
+ "guzzlehttp/test-server": "^0.7",
"php-http/message-factory": "^1.1",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20",
+ "phpunit/phpunit": "^8.5.52 || ^9.6.34",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
@@ -1199,7 +1203,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.10.0"
+ "source": "https://github.com/guzzle/guzzle/tree/7.15.5"
},
"funding": [
{
@@ -1215,28 +1219,29 @@
"type": "tidelift"
}
],
- "time": "2025-08-23T22:36:01+00:00"
+ "time": "2026-08-24T09:21:06+00:00"
},
{
"name": "guzzlehttp/promises",
- "version": "2.3.0",
+ "version": "2.5.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "481557b130ef3790cf82b713667b43030dc9c957"
+ "reference": "cde49999552d185d64715fe9c1f77a2aadd2f9f1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957",
- "reference": "481557b130ef3790cf82b713667b43030dc9c957",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/cde49999552d185d64715fe9c1f77a2aadd2f9f1",
+ "reference": "cde49999552d185d64715fe9c1f77a2aadd2f9f1",
"shasum": ""
},
"require": {
- "php": "^7.2.5 || ^8.0"
+ "php": "^7.2.5 || ^8.0",
+ "symfony/deprecation-contracts": "^2.5 || ^3.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.44 || ^9.6.25"
+ "phpunit/phpunit": "^8.5.52 || ^9.6.34"
},
"type": "library",
"extra": {
@@ -1282,7 +1287,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.3.0"
+ "source": "https://github.com/guzzle/promises/tree/2.5.3"
},
"funding": [
{
@@ -1298,27 +1303,29 @@
"type": "tidelift"
}
],
- "time": "2025-08-22T14:34:08+00:00"
+ "time": "2026-08-24T09:11:28+00:00"
},
{
"name": "guzzlehttp/psr7",
- "version": "2.9.0",
+ "version": "2.13.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884"
+ "reference": "95e7828100de18b4e269fb1703be530082d5166d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884",
- "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/95e7828100de18b4e269fb1703be530082d5166d",
+ "reference": "95e7828100de18b4e269fb1703be530082d5166d",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.1 || ^2.0",
- "ralouphie/getallheaders": "^3.0"
+ "ralouphie/getallheaders": "^3.0",
+ "symfony/deprecation-contracts": "^2.5 || ^3.0",
+ "symfony/polyfill-php80": "^1.25"
},
"provide": {
"psr/http-factory-implementation": "1.0",
@@ -1326,9 +1333,9 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "http-interop/http-factory-tests": "0.9.0",
+ "http-interop/http-factory-tests": "1.1.0",
"jshttp/mime-db": "1.54.0.1",
- "phpunit/phpunit": "^8.5.44 || ^9.6.25"
+ "phpunit/phpunit": "^8.5.52 || ^9.6.34"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@@ -1399,7 +1406,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.9.0"
+ "source": "https://github.com/guzzle/psr7/tree/2.13.1"
},
"funding": [
{
@@ -1415,29 +1422,29 @@
"type": "tidelift"
}
],
- "time": "2026-03-10T16:41:02+00:00"
+ "time": "2026-08-24T09:13:11+00:00"
},
{
"name": "guzzlehttp/uri-template",
- "version": "v1.0.5",
+ "version": "v1.0.11",
"source": {
"type": "git",
"url": "https://github.com/guzzle/uri-template.git",
- "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1"
+ "reference": "d0058dccf4299d70c3d9da3378b8908b32780368"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1",
- "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1",
+ "url": "https://api.github.com/repos/guzzle/uri-template/zipball/d0058dccf4299d70c3d9da3378b8908b32780368",
+ "reference": "d0058dccf4299d70c3d9da3378b8908b32780368",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
- "symfony/polyfill-php80": "^1.24"
+ "symfony/polyfill-php80": "^1.25"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.44 || ^9.6.25",
+ "phpunit/phpunit": "^8.5.52 || ^9.6.34",
"uri-template/tests": "1.0.0"
},
"type": "library",
@@ -1485,7 +1492,7 @@
],
"support": {
"issues": "https://github.com/guzzle/uri-template/issues",
- "source": "https://github.com/guzzle/uri-template/tree/v1.0.5"
+ "source": "https://github.com/guzzle/uri-template/tree/v1.0.11"
},
"funding": [
{
@@ -1501,7 +1508,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-22T14:27:06+00:00"
+ "time": "2026-08-24T09:15:32+00:00"
},
{
"name": "kyslik/column-sortable",
@@ -1566,16 +1573,16 @@
},
{
"name": "laravel/framework",
- "version": "v12.56.0",
+ "version": "v12.67.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "dac16d424b59debb2273910dde88eb7050a2a709"
+ "reference": "fe2cdaba052cbb9f350761ccefc7ac221cbdf0b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/dac16d424b59debb2273910dde88eb7050a2a709",
- "reference": "dac16d424b59debb2273910dde88eb7050a2a709",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/fe2cdaba052cbb9f350761ccefc7ac221cbdf0b5",
+ "reference": "fe2cdaba052cbb9f350761ccefc7ac221cbdf0b5",
"shasum": ""
},
"require": {
@@ -1616,8 +1623,8 @@
"symfony/mailer": "^7.2.0",
"symfony/mime": "^7.2.0",
"symfony/polyfill-php83": "^1.33",
- "symfony/polyfill-php84": "^1.33",
- "symfony/polyfill-php85": "^1.33",
+ "symfony/polyfill-php84": "^1.34",
+ "symfony/polyfill-php85": "^1.34",
"symfony/process": "^7.2.0",
"symfony/routing": "^7.2.0",
"symfony/uid": "^7.2.0",
@@ -1784,20 +1791,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2026-03-26T14:51:54+00:00"
+ "time": "2026-08-18T13:37:47+00:00"
},
{
"name": "laravel/prompts",
- "version": "v0.3.16",
+ "version": "v0.3.23",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
- "reference": "11e7d5f93803a2190b00e145142cb00a33d17ad2"
+ "reference": "b7b4c35e5bc47450f6b6238c6cc9c47ba19b2221"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/prompts/zipball/11e7d5f93803a2190b00e145142cb00a33d17ad2",
- "reference": "11e7d5f93803a2190b00e145142cb00a33d17ad2",
+ "url": "https://api.github.com/repos/laravel/prompts/zipball/b7b4c35e5bc47450f6b6238c6cc9c47ba19b2221",
+ "reference": "b7b4c35e5bc47450f6b6238c6cc9c47ba19b2221",
"shasum": ""
},
"require": {
@@ -1841,22 +1848,22 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
- "source": "https://github.com/laravel/prompts/tree/v0.3.16"
+ "source": "https://github.com/laravel/prompts/tree/v0.3.23"
},
- "time": "2026-03-23T14:35:33+00:00"
+ "time": "2026-08-11T18:58:24+00:00"
},
{
"name": "laravel/serializable-closure",
- "version": "v2.0.10",
+ "version": "v2.0.15",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
- "reference": "870fc81d2f879903dfc5b60bf8a0f94a1609e669"
+ "reference": "dccd8bcb851bb03fcc005df650b708b57cc52661"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/870fc81d2f879903dfc5b60bf8a0f94a1609e669",
- "reference": "870fc81d2f879903dfc5b60bf8a0f94a1609e669",
+ "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/dccd8bcb851bb03fcc005df650b708b57cc52661",
+ "reference": "dccd8bcb851bb03fcc005df650b708b57cc52661",
"shasum": ""
},
"require": {
@@ -1904,20 +1911,20 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
- "time": "2026-02-20T19:59:49+00:00"
+ "time": "2026-07-21T16:49:22+00:00"
},
{
"name": "laravel/socialite",
- "version": "v5.26.1",
+ "version": "v5.30.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/socialite.git",
- "reference": "db6ec2ee967b7f06412c3a0cf1daaf072f4752a4"
+ "reference": "caf714f55d51ab0d914b40033d8b0f489d6219cc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/socialite/zipball/db6ec2ee967b7f06412c3a0cf1daaf072f4752a4",
- "reference": "db6ec2ee967b7f06412c3a0cf1daaf072f4752a4",
+ "url": "https://api.github.com/repos/laravel/socialite/zipball/caf714f55d51ab0d914b40033d8b0f489d6219cc",
+ "reference": "caf714f55d51ab0d914b40033d8b0f489d6219cc",
"shasum": ""
},
"require": {
@@ -1976,7 +1983,7 @@
"issues": "https://github.com/laravel/socialite/issues",
"source": "https://github.com/laravel/socialite"
},
- "time": "2026-03-29T14:50:53+00:00"
+ "time": "2026-08-13T23:01:33+00:00"
},
{
"name": "laravel/tinker",
@@ -2046,16 +2053,16 @@
},
{
"name": "league/commonmark",
- "version": "2.8.2",
+ "version": "2.10.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "59fb075d2101740c337c7216e3f32b36c204218b"
+ "reference": "d2d1aa8b35e072966c89bc0c66cf926e56767dc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/59fb075d2101740c337c7216e3f32b36c204218b",
- "reference": "59fb075d2101740c337c7216e3f32b36c204218b",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d2d1aa8b35e072966c89bc0c66cf926e56767dc4",
+ "reference": "d2d1aa8b35e072966c89bc0c66cf926e56767dc4",
"shasum": ""
},
"require": {
@@ -2077,8 +2084,8 @@
"github/gfm": "0.29.0",
"michelf/php-markdown": "^1.4 || ^2.0",
"nyholm/psr7": "^1.5",
- "phpstan/phpstan": "^1.8.2",
- "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0",
+ "phpstan/phpstan": "^2.0.0",
+ "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0 || ^12.0.0 || ^13.0.0",
"scrutinizer/ocular": "^1.8.1",
"symfony/finder": "^5.3 | ^6.0 | ^7.0 || ^8.0",
"symfony/process": "^5.4 | ^6.0 | ^7.0 || ^8.0",
@@ -2092,7 +2099,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.9-dev"
+ "dev-main": "2.11-dev"
}
},
"autoload": {
@@ -2149,7 +2156,7 @@
"type": "tidelift"
}
],
- "time": "2026-03-19T13:16:38+00:00"
+ "time": "2026-08-11T16:06:25+00:00"
},
{
"name": "league/config",
@@ -2235,16 +2242,16 @@
},
{
"name": "league/flysystem",
- "version": "3.33.0",
+ "version": "3.35.3",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "570b8871e0ce693764434b29154c54b434905350"
+ "reference": "5fc8404762179ae514678487b23494fd69b2309c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/570b8871e0ce693764434b29154c54b434905350",
- "reference": "570b8871e0ce693764434b29154c54b434905350",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/5fc8404762179ae514678487b23494fd69b2309c",
+ "reference": "5fc8404762179ae514678487b23494fd69b2309c",
"shasum": ""
},
"require": {
@@ -2312,22 +2319,22 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/3.33.0"
+ "source": "https://github.com/thephpleague/flysystem/tree/3.35.3"
},
- "time": "2026-03-25T07:59:30+00:00"
+ "time": "2026-08-22T12:55:54+00:00"
},
{
"name": "league/flysystem-local",
- "version": "3.31.0",
+ "version": "3.35.3",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-local.git",
- "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079"
+ "reference": "a099b24dce160f3b2239043d13d47c4a1a214ea4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/2f669db18a4c20c755c2bb7d3a7b0b2340488079",
- "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079",
+ "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/a099b24dce160f3b2239043d13d47c4a1a214ea4",
+ "reference": "a099b24dce160f3b2239043d13d47c4a1a214ea4",
"shasum": ""
},
"require": {
@@ -2361,22 +2368,22 @@
"local"
],
"support": {
- "source": "https://github.com/thephpleague/flysystem-local/tree/3.31.0"
+ "source": "https://github.com/thephpleague/flysystem-local/tree/3.35.3"
},
- "time": "2026-01-23T15:30:45+00:00"
+ "time": "2026-08-12T13:29:21+00:00"
},
{
"name": "league/mime-type-detection",
- "version": "1.16.0",
+ "version": "1.17.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/mime-type-detection.git",
- "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9"
+ "reference": "f5f47eff7c48ed1003069a2ca67f316fb4021c76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9",
- "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9",
+ "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/f5f47eff7c48ed1003069a2ca67f316fb4021c76",
+ "reference": "f5f47eff7c48ed1003069a2ca67f316fb4021c76",
"shasum": ""
},
"require": {
@@ -2386,7 +2393,7 @@
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.2",
"phpstan/phpstan": "^0.12.68",
- "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0"
+ "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0 || ^11.0 || ^12.0"
},
"type": "library",
"autoload": {
@@ -2407,7 +2414,7 @@
"description": "Mime-type detection for Flysystem",
"support": {
"issues": "https://github.com/thephpleague/mime-type-detection/issues",
- "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0"
+ "source": "https://github.com/thephpleague/mime-type-detection/tree/1.17.0"
},
"funding": [
{
@@ -2419,7 +2426,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-21T08:32:55+00:00"
+ "time": "2026-07-09T11:49:27+00:00"
},
{
"name": "league/oauth1-client",
@@ -2851,16 +2858,16 @@
},
{
"name": "nesbot/carbon",
- "version": "3.11.3",
+ "version": "3.13.2",
"source": {
"type": "git",
"url": "https://github.com/CarbonPHP/carbon.git",
- "reference": "6a7e652845bb018c668220c2a545aded8594fbbf"
+ "reference": "a1c54919f5fff9800cd03c32bd01defd5a4061cb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/6a7e652845bb018c668220c2a545aded8594fbbf",
- "reference": "6a7e652845bb018c668220c2a545aded8594fbbf",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/a1c54919f5fff9800cd03c32bd01defd5a4061cb",
+ "reference": "a1c54919f5fff9800cd03c32bd01defd5a4061cb",
"shasum": ""
},
"require": {
@@ -2952,20 +2959,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-11T17:23:39+00:00"
+ "time": "2026-08-08T11:40:35+00:00"
},
{
"name": "nette/schema",
- "version": "v1.3.5",
+ "version": "v1.3.6",
"source": {
"type": "git",
"url": "https://github.com/nette/schema.git",
- "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002"
+ "reference": "c54350438cd6914616f790a49cb424605f421562"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/schema/zipball/f0ab1a3cda782dbc5da270d28545236aa80c4002",
- "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002",
+ "url": "https://api.github.com/repos/nette/schema/zipball/c54350438cd6914616f790a49cb424605f421562",
+ "reference": "c54350438cd6914616f790a49cb424605f421562",
"shasum": ""
},
"require": {
@@ -3017,22 +3024,22 @@
],
"support": {
"issues": "https://github.com/nette/schema/issues",
- "source": "https://github.com/nette/schema/tree/v1.3.5"
+ "source": "https://github.com/nette/schema/tree/v1.3.6"
},
- "time": "2026-02-23T03:47:12+00:00"
+ "time": "2026-08-16T21:58:41+00:00"
},
{
"name": "nette/utils",
- "version": "v4.1.3",
+ "version": "v4.1.5",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
- "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe"
+ "reference": "b043439dbdf954e6c28b5ea7e34b0100f83165e0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/utils/zipball/bb3ea637e3d131d72acc033cfc2746ee893349fe",
- "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe",
+ "url": "https://api.github.com/repos/nette/utils/zipball/b043439dbdf954e6c28b5ea7e34b0100f83165e0",
+ "reference": "b043439dbdf954e6c28b5ea7e34b0100f83165e0",
"shasum": ""
},
"require": {
@@ -3052,7 +3059,7 @@
},
"suggest": {
"ext-gd": "to use Image",
- "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()",
+ "ext-iconv": "to use Strings::chr(), ord() and reverse()",
"ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
"ext-json": "to use Nette\\Utils\\Json",
"ext-mbstring": "to use Strings::lower() etc...",
@@ -3108,26 +3115,25 @@
],
"support": {
"issues": "https://github.com/nette/utils/issues",
- "source": "https://github.com/nette/utils/tree/v4.1.3"
+ "source": "https://github.com/nette/utils/tree/v4.1.5"
},
- "time": "2026-02-13T03:05:33+00:00"
+ "time": "2026-07-17T23:02:45+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v5.7.0",
+ "version": "v5.8.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82"
+ "reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82",
- "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/044a6a392ff8ad0d61f14370a5fbbd0a0107152f",
+ "reference": "044a6a392ff8ad0d61f14370a5fbbd0a0107152f",
"shasum": ""
},
"require": {
- "ext-ctype": "*",
"ext-json": "*",
"ext-tokenizer": "*",
"php": ">=7.4"
@@ -3166,9 +3172,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.8.0"
},
- "time": "2025-12-06T11:56:16+00:00"
+ "time": "2026-07-04T14:30:18+00:00"
},
{
"name": "nunomaduro/termwind",
@@ -3378,16 +3384,16 @@
},
{
"name": "phpoption/phpoption",
- "version": "1.9.5",
+ "version": "1.10.0",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
- "reference": "75365b91986c2405cf5e1e012c5595cd487a98be"
+ "reference": "67b192b6a42ec03944b972d6e633ddec78ad2c6d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be",
- "reference": "75365b91986c2405cf5e1e012c5595cd487a98be",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/67b192b6a42ec03944b972d6e633ddec78ad2c6d",
+ "reference": "67b192b6a42ec03944b972d6e633ddec78ad2c6d",
"shasum": ""
},
"require": {
@@ -3395,7 +3401,7 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34"
+ "phpunit/phpunit": "^8.5.54 || ^9.6.36 || ^10.5.64 || ^11.5.56 || ^12.5.33"
},
"type": "library",
"extra": {
@@ -3437,7 +3443,7 @@
],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
- "source": "https://github.com/schmittjoh/php-option/tree/1.9.5"
+ "source": "https://github.com/schmittjoh/php-option/tree/1.10.0"
},
"funding": [
{
@@ -3449,20 +3455,20 @@
"type": "tidelift"
}
],
- "time": "2025-12-27T19:41:33+00:00"
+ "time": "2026-08-24T00:54:40+00:00"
},
{
"name": "phpseclib/phpseclib",
- "version": "3.0.50",
+ "version": "3.0.56",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "aa6ad8321ed103dc3624fb600a25b66ebf78ec7b"
+ "reference": "7adbbe38cde25e2df2116dbf2673c407e24fa305"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/aa6ad8321ed103dc3624fb600a25b66ebf78ec7b",
- "reference": "aa6ad8321ed103dc3624fb600a25b66ebf78ec7b",
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/7adbbe38cde25e2df2116dbf2673c407e24fa305",
+ "reference": "7adbbe38cde25e2df2116dbf2673c407e24fa305",
"shasum": ""
},
"require": {
@@ -3543,7 +3549,7 @@
],
"support": {
"issues": "https://github.com/phpseclib/phpseclib/issues",
- "source": "https://github.com/phpseclib/phpseclib/tree/3.0.50"
+ "source": "https://github.com/phpseclib/phpseclib/tree/3.0.56"
},
"funding": [
{
@@ -3559,7 +3565,7 @@
"type": "tidelift"
}
],
- "time": "2026-03-19T02:57:58+00:00"
+ "time": "2026-08-03T04:36:50+00:00"
},
{
"name": "psr/cache",
@@ -4024,16 +4030,16 @@
},
{
"name": "psy/psysh",
- "version": "v0.12.22",
+ "version": "v0.12.24",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f"
+ "reference": "ca0fdcf8a7617afa3adfdf1b5fef573dffb69ca1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/3be75d5b9244936dd4ac62ade2bfb004d13acf0f",
- "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/ca0fdcf8a7617afa3adfdf1b5fef573dffb69ca1",
+ "reference": "ca0fdcf8a7617afa3adfdf1b5fef573dffb69ca1",
"shasum": ""
},
"require": {
@@ -4097,9 +4103,9 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/v0.12.22"
+ "source": "https://github.com/bobthecow/psysh/tree/v0.12.24"
},
- "time": "2026-03-22T23:03:24+00:00"
+ "time": "2026-06-29T15:41:09+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -4223,20 +4229,20 @@
},
{
"name": "ramsey/uuid",
- "version": "4.9.2",
+ "version": "4.9.3",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
- "reference": "8429c78ca35a09f27565311b98101e2826affde0"
+ "reference": "1df15849d00943a67d677dc9cfd80795f038c9f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0",
- "reference": "8429c78ca35a09f27565311b98101e2826affde0",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/1df15849d00943a67d677dc9cfd80795f038c9f8",
+ "reference": "1df15849d00943a67d677dc9cfd80795f038c9f8",
"shasum": ""
},
"require": {
- "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14",
+ "brick/math": ">=0.8.16 <=0.18",
"php": "^8.0",
"ramsey/collection": "^1.2 || ^2.0"
},
@@ -4295,9 +4301,9 @@
],
"support": {
"issues": "https://github.com/ramsey/uuid/issues",
- "source": "https://github.com/ramsey/uuid/tree/4.9.2"
+ "source": "https://github.com/ramsey/uuid/tree/4.9.3"
},
- "time": "2025-12-14T04:43:48+00:00"
+ "time": "2026-06-18T03:57:49+00:00"
},
{
"name": "sabberworm/php-css-parser",
@@ -4381,26 +4387,26 @@
},
{
"name": "socialiteproviders/manager",
- "version": "4.9.2",
+ "version": "4.10.0",
"source": {
"type": "git",
"url": "https://github.com/SocialiteProviders/Manager.git",
- "reference": "35372dc62787e61e91cfec73f45fd5d5ae0f8891"
+ "reference": "65ad770276875682e246e5435566146bf0baebf2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/SocialiteProviders/Manager/zipball/35372dc62787e61e91cfec73f45fd5d5ae0f8891",
- "reference": "35372dc62787e61e91cfec73f45fd5d5ae0f8891",
+ "url": "https://api.github.com/repos/SocialiteProviders/Manager/zipball/65ad770276875682e246e5435566146bf0baebf2",
+ "reference": "65ad770276875682e246e5435566146bf0baebf2",
"shasum": ""
},
"require": {
- "illuminate/support": "^11.0 || ^12.0 || ^13.0",
- "laravel/socialite": "^5.5",
- "php": "^8.2"
+ "illuminate/support": "^12.0 || ^13.0",
+ "laravel/socialite": "^5.29",
+ "php": "^8.3"
},
"require-dev": {
- "mockery/mockery": "^1.2",
- "phpunit/phpunit": "^9.0"
+ "mockery/mockery": "^1.6",
+ "phpunit/phpunit": "^12.5"
},
"type": "library",
"extra": {
@@ -4451,20 +4457,20 @@
"issues": "https://github.com/socialiteproviders/manager/issues",
"source": "https://github.com/socialiteproviders/manager"
},
- "time": "2026-03-18T22:13:24+00:00"
+ "time": "2026-08-16T00:16:22+00:00"
},
{
"name": "spatie/laravel-package-tools",
- "version": "1.93.0",
+ "version": "1.93.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-package-tools.git",
- "reference": "0d097bce95b2bf6802fb1d83e1e753b0f5a948e7"
+ "reference": "d5552849801f2642aea710557463234b59ef65eb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/0d097bce95b2bf6802fb1d83e1e753b0f5a948e7",
- "reference": "0d097bce95b2bf6802fb1d83e1e753b0f5a948e7",
+ "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/d5552849801f2642aea710557463234b59ef65eb",
+ "reference": "d5552849801f2642aea710557463234b59ef65eb",
"shasum": ""
},
"require": {
@@ -4504,7 +4510,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-package-tools/issues",
- "source": "https://github.com/spatie/laravel-package-tools/tree/1.93.0"
+ "source": "https://github.com/spatie/laravel-package-tools/tree/1.93.1"
},
"funding": [
{
@@ -4512,20 +4518,20 @@
"type": "github"
}
],
- "time": "2026-02-21T12:49:54+00:00"
+ "time": "2026-05-19T14:06:37+00:00"
},
{
"name": "spatie/laravel-permission",
- "version": "7.2.4",
+ "version": "7.4.2",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-permission.git",
- "reference": "0a8ab4b84dc5efe23be9ddcd77951e10030c452d"
+ "reference": "15a9daf02ba02d3ae77aaa6da582708231ef999b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/0a8ab4b84dc5efe23be9ddcd77951e10030c452d",
- "reference": "0a8ab4b84dc5efe23be9ddcd77951e10030c452d",
+ "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/15a9daf02ba02d3ae77aaa6da582708231ef999b",
+ "reference": "15a9daf02ba02d3ae77aaa6da582708231ef999b",
"shasum": ""
},
"require": {
@@ -4533,7 +4539,7 @@
"illuminate/container": "^12.0|^13.0",
"illuminate/contracts": "^12.0|^13.0",
"illuminate/database": "^12.0|^13.0",
- "php": "^8.4",
+ "php": "^8.3",
"spatie/laravel-package-tools": "^1.0"
},
"require-dev": {
@@ -4591,7 +4597,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-permission/issues",
- "source": "https://github.com/spatie/laravel-permission/tree/7.2.4"
+ "source": "https://github.com/spatie/laravel-permission/tree/7.4.2"
},
"funding": [
{
@@ -4599,24 +4605,24 @@
"type": "github"
}
],
- "time": "2026-03-17T22:57:08+00:00"
+ "time": "2026-05-30T19:21:26+00:00"
},
{
"name": "symfony/clock",
- "version": "v8.0.8",
+ "version": "v8.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/clock.git",
- "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3"
+ "reference": "701ef4de9705d6c32292ebee5e8044094a09fbf6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/clock/zipball/b55a638b189a6faa875e0ccdb00908fb87af95b3",
- "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/701ef4de9705d6c32292ebee5e8044094a09fbf6",
+ "reference": "701ef4de9705d6c32292ebee5e8044094a09fbf6",
"shasum": ""
},
"require": {
- "php": ">=8.4",
+ "php": ">=8.4.1",
"psr/clock": "^1.0"
},
"provide": {
@@ -4656,7 +4662,7 @@
"time"
],
"support": {
- "source": "https://github.com/symfony/clock/tree/v8.0.8"
+ "source": "https://github.com/symfony/clock/tree/v8.1.0"
},
"funding": [
{
@@ -4676,20 +4682,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T15:14:47+00:00"
+ "time": "2026-05-29T05:06:50+00:00"
},
{
"name": "symfony/console",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707"
+ "reference": "962e18f09ebe68a49039b4c82fc0ea4871824fca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707",
- "reference": "1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707",
+ "url": "https://api.github.com/repos/symfony/console/zipball/962e18f09ebe68a49039b4c82fc0ea4871824fca",
+ "reference": "962e18f09ebe68a49039b4c82fc0ea4871824fca",
"shasum": ""
},
"require": {
@@ -4754,7 +4760,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.4.8"
+ "source": "https://github.com/symfony/console/tree/v7.4.17"
},
"funding": [
{
@@ -4774,24 +4780,24 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T13:54:39+00:00"
+ "time": "2026-08-21T12:09:28+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v8.0.8",
+ "version": "v8.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed"
+ "reference": "a291fb5adb65f52a4bb315db2d803698315dc64d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed",
- "reference": "8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/a291fb5adb65f52a4bb315db2d803698315dc64d",
+ "reference": "a291fb5adb65f52a4bb315db2d803698315dc64d",
"shasum": ""
},
"require": {
- "php": ">=8.4"
+ "php": ">=8.4.1"
},
"type": "library",
"autoload": {
@@ -4823,7 +4829,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v8.0.8"
+ "source": "https://github.com/symfony/css-selector/tree/v8.1.5"
},
"funding": [
{
@@ -4843,20 +4849,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T15:14:47+00:00"
+ "time": "2026-08-21T17:47:34+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.6.0",
+ "version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
+ "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
- "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/f3202fa1b5097b0af062dc978b32ecf63404e31d",
+ "reference": "f3202fa1b5097b0af062dc978b32ecf63404e31d",
"shasum": ""
},
"require": {
@@ -4869,7 +4875,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.6-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -4894,7 +4900,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.6.0"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.1"
},
"funding": [
{
@@ -4905,25 +4911,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-25T14:21:43+00:00"
+ "time": "2026-06-05T06:23:12+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa"
+ "reference": "8373921e231e190a88e2ad526951bbaa791576fa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa",
- "reference": "8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/8373921e231e190a88e2ad526951bbaa791576fa",
+ "reference": "8373921e231e190a88e2ad526951bbaa791576fa",
"shasum": ""
},
"require": {
@@ -4972,7 +4982,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/v7.4.8"
+ "source": "https://github.com/symfony/error-handler/tree/v7.4.17"
},
"funding": [
{
@@ -4992,24 +5002,25 @@
"type": "tidelift"
}
],
- "time": "2026-03-24T13:12:05+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v8.0.8",
+ "version": "v8.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6"
+ "reference": "7458da64220376b2e0dc2d8451bf43382c1ad297"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f662acc6ab22a3d6d716dcb44c381c6002940df6",
- "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7458da64220376b2e0dc2d8451bf43382c1ad297",
+ "reference": "7458da64220376b2e0dc2d8451bf43382c1ad297",
"shasum": ""
},
"require": {
- "php": ">=8.4",
+ "php": ">=8.4.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/event-dispatcher-contracts": "^2.5|^3"
},
"conflict": {
@@ -5057,7 +5068,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/v8.0.8"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v8.1.5"
},
"funding": [
{
@@ -5077,20 +5088,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T15:14:47+00:00"
+ "time": "2026-08-21T17:47:34+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v3.6.0",
+ "version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "59eb412e93815df44f05f342958efa9f46b1e586"
+ "reference": "c7de7a00ffb67842132da02ea92988a39ccd9f4e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586",
- "reference": "59eb412e93815df44f05f342958efa9f46b1e586",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c7de7a00ffb67842132da02ea92988a39ccd9f4e",
+ "reference": "c7de7a00ffb67842132da02ea92988a39ccd9f4e",
"shasum": ""
},
"require": {
@@ -5104,7 +5115,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.6-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -5137,7 +5148,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.7.1"
},
"funding": [
{
@@ -5148,25 +5159,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-25T14:21:43+00:00"
+ "time": "2026-06-05T06:23:12+00:00"
},
{
"name": "symfony/finder",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "e0be088d22278583a82da281886e8c3592fbf149"
+ "reference": "5ce28827081f6d1f0c32eaf3882750f19cb5bbe6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/e0be088d22278583a82da281886e8c3592fbf149",
- "reference": "e0be088d22278583a82da281886e8c3592fbf149",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/5ce28827081f6d1f0c32eaf3882750f19cb5bbe6",
+ "reference": "5ce28827081f6d1f0c32eaf3882750f19cb5bbe6",
"shasum": ""
},
"require": {
@@ -5201,7 +5216,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v7.4.8"
+ "source": "https://github.com/symfony/finder/tree/v7.4.17"
},
"funding": [
{
@@ -5221,20 +5236,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-24T13:12:05+00:00"
+ "time": "2026-08-21T12:09:28+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "9381209597ec66c25be154cbf2289076e64d1eab"
+ "reference": "2ebe78c083501dfb9509b31a7aedcae4d60a391f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9381209597ec66c25be154cbf2289076e64d1eab",
- "reference": "9381209597ec66c25be154cbf2289076e64d1eab",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/2ebe78c083501dfb9509b31a7aedcae4d60a391f",
+ "reference": "2ebe78c083501dfb9509b31a7aedcae4d60a391f",
"shasum": ""
},
"require": {
@@ -5283,7 +5298,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v7.4.8"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.4.17"
},
"funding": [
{
@@ -5303,20 +5318,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-24T13:12:05+00:00"
+ "time": "2026-08-20T09:55:18+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "017e76ad089bac281553389269e259e155935e1a"
+ "reference": "aa160388d444210e3d01bbb4c5c53af4cd763df4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/017e76ad089bac281553389269e259e155935e1a",
- "reference": "017e76ad089bac281553389269e259e155935e1a",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/aa160388d444210e3d01bbb4c5c53af4cd763df4",
+ "reference": "aa160388d444210e3d01bbb4c5c53af4cd763df4",
"shasum": ""
},
"require": {
@@ -5374,7 +5389,7 @@
"symfony/validator": "^6.4|^7.0|^8.0",
"symfony/var-dumper": "^6.4|^7.0|^8.0",
"symfony/var-exporter": "^6.4|^7.0|^8.0",
- "twig/twig": "^3.12"
+ "twig/twig": "^3.12|^4.0"
},
"type": "library",
"autoload": {
@@ -5402,7 +5417,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/v7.4.8"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.4.17"
},
"funding": [
{
@@ -5422,20 +5437,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-31T20:57:01+00:00"
+ "time": "2026-08-22T13:41:33+00:00"
},
{
"name": "symfony/mailer",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "f6ea532250b476bfc1b56699b388a1bdbf168f62"
+ "reference": "b17c9bf3a551d5f635638a3b6c05f06c4dc87584"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/f6ea532250b476bfc1b56699b388a1bdbf168f62",
- "reference": "f6ea532250b476bfc1b56699b388a1bdbf168f62",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/b17c9bf3a551d5f635638a3b6c05f06c4dc87584",
+ "reference": "b17c9bf3a551d5f635638a3b6c05f06c4dc87584",
"shasum": ""
},
"require": {
@@ -5486,7 +5501,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v7.4.8"
+ "source": "https://github.com/symfony/mailer/tree/v7.4.17"
},
"funding": [
{
@@ -5506,20 +5521,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-24T13:12:05+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/mime",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "6df02f99998081032da3407a8d6c4e1dcb5d4379"
+ "reference": "bf328d82105831db3e409195db0540ff57f27c80"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/6df02f99998081032da3407a8d6c4e1dcb5d4379",
- "reference": "6df02f99998081032da3407a8d6c4e1dcb5d4379",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/bf328d82105831db3e409195db0540ff57f27c80",
+ "reference": "bf328d82105831db3e409195db0540ff57f27c80",
"shasum": ""
},
"require": {
@@ -5543,7 +5558,7 @@
"symfony/process": "^6.4|^7.0|^8.0",
"symfony/property-access": "^6.4|^7.0|^8.0",
"symfony/property-info": "^6.4|^7.0|^8.0",
- "symfony/serializer": "^6.4.3|^7.0.3|^8.0"
+ "symfony/serializer": "^6.4.44|^7.4.17|^8.1.5"
},
"type": "library",
"autoload": {
@@ -5575,7 +5590,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v7.4.8"
+ "source": "https://github.com/symfony/mime/tree/v7.4.17"
},
"funding": [
{
@@ -5595,20 +5610,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T14:11:46+00:00"
+ "time": "2026-08-22T09:04:42+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
+ "reference": "141046a8f9477948ff284fa65be2095baafb94f2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
- "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2",
+ "reference": "141046a8f9477948ff284fa65be2095baafb94f2",
"shasum": ""
},
"require": {
@@ -5658,7 +5673,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.37.0"
},
"funding": [
{
@@ -5678,20 +5693,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-04-10T16:19:22+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.33.0",
+ "version": "v1.41.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70"
+ "reference": "bb899c1db0aa8127dc3afe8cda4a67eb24915f8d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70",
- "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/bb899c1db0aa8127dc3afe8cda4a67eb24915f8d",
+ "reference": "bb899c1db0aa8127dc3afe8cda4a67eb24915f8d",
"shasum": ""
},
"require": {
@@ -5740,7 +5755,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.41.0"
},
"funding": [
{
@@ -5760,20 +5775,20 @@
"type": "tidelift"
}
],
- "time": "2025-06-27T09:58:17+00:00"
+ "time": "2026-07-28T08:25:59+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.33.0",
+ "version": "v1.38.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3"
+ "reference": "dc21118016c039a66235cf93d96b435ffb282412"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3",
- "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/dc21118016c039a66235cf93d96b435ffb282412",
+ "reference": "dc21118016c039a66235cf93d96b435ffb282412",
"shasum": ""
},
"require": {
@@ -5827,7 +5842,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.38.1"
},
"funding": [
{
@@ -5847,20 +5862,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-10T14:38:51+00:00"
+ "time": "2026-05-25T15:22:23+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.33.0",
+ "version": "v1.38.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "3833d7255cc303546435cb650316bff708a1c75c"
+ "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
- "reference": "3833d7255cc303546435cb650316bff708a1c75c",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/2d446c214bdbe5b71bde5011b060a05fece3ae6b",
+ "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b",
"shasum": ""
},
"require": {
@@ -5912,7 +5927,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.38.0"
},
"funding": [
{
@@ -5932,20 +5947,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-05-25T13:48:31+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.33.0",
+ "version": "v1.38.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
+ "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
- "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
+ "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6",
"shasum": ""
},
"require": {
@@ -5997,7 +6012,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.2"
},
"funding": [
{
@@ -6017,20 +6032,20 @@
"type": "tidelift"
}
],
- "time": "2024-12-23T08:48:59+00:00"
+ "time": "2026-05-27T06:59:30+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
+ "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
- "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dfb55726c3a76ea3b6459fcfda1ec2d80a682411",
+ "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411",
"shasum": ""
},
"require": {
@@ -6081,7 +6096,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.37.0"
},
"funding": [
{
@@ -6101,20 +6116,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-02T08:10:11+00:00"
+ "time": "2026-04-10T16:19:22+00:00"
},
{
"name": "symfony/polyfill-php83",
- "version": "v1.33.0",
+ "version": "v1.41.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php83.git",
- "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5"
+ "reference": "5ea99087fb99c273a9b9236ed4c31e78b16103c6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5",
- "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/5ea99087fb99c273a9b9236ed4c31e78b16103c6",
+ "reference": "5ea99087fb99c273a9b9236ed4c31e78b16103c6",
"shasum": ""
},
"require": {
@@ -6161,7 +6176,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.41.0"
},
"funding": [
{
@@ -6181,20 +6196,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-08T02:45:35+00:00"
+ "time": "2026-07-01T12:47:55+00:00"
},
{
"name": "symfony/polyfill-php84",
- "version": "v1.33.0",
+ "version": "v1.38.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php84.git",
- "reference": "d8ced4d875142b6a7426000426b8abc631d6b191"
+ "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191",
- "reference": "d8ced4d875142b6a7426000426b8abc631d6b191",
+ "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa",
+ "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa",
"shasum": ""
},
"require": {
@@ -6241,7 +6256,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-php84/tree/v1.38.1"
},
"funding": [
{
@@ -6261,20 +6276,20 @@
"type": "tidelift"
}
],
- "time": "2025-06-24T13:30:11+00:00"
+ "time": "2026-05-26T12:51:13+00:00"
},
{
"name": "symfony/polyfill-php85",
- "version": "v1.33.0",
+ "version": "v1.41.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php85.git",
- "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91"
+ "reference": "255fab485aaa1006ed411040c42aecd7b5302d7a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
- "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
+ "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/255fab485aaa1006ed411040c42aecd7b5302d7a",
+ "reference": "255fab485aaa1006ed411040c42aecd7b5302d7a",
"shasum": ""
},
"require": {
@@ -6321,7 +6336,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-php85/tree/v1.41.0"
},
"funding": [
{
@@ -6341,20 +6356,20 @@
"type": "tidelift"
}
],
- "time": "2025-06-23T16:12:55+00:00"
+ "time": "2026-07-01T12:47:55+00:00"
},
{
"name": "symfony/polyfill-uuid",
- "version": "v1.33.0",
+ "version": "v1.37.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-uuid.git",
- "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2"
+ "reference": "26dfec253c4cf3e51b541b52ddf7e42cb0908e94"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2",
- "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2",
+ "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/26dfec253c4cf3e51b541b52ddf7e42cb0908e94",
+ "reference": "26dfec253c4cf3e51b541b52ddf7e42cb0908e94",
"shasum": ""
},
"require": {
@@ -6404,7 +6419,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-uuid/tree/v1.37.0"
},
"funding": [
{
@@ -6424,20 +6439,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2026-04-10T16:19:22+00:00"
},
{
"name": "symfony/process",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "60f19cd3badc8de688421e21e4305eba50f8089a"
+ "reference": "058d17fc284cce14efb2385783b55014a461b176"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/60f19cd3badc8de688421e21e4305eba50f8089a",
- "reference": "60f19cd3badc8de688421e21e4305eba50f8089a",
+ "url": "https://api.github.com/repos/symfony/process/zipball/058d17fc284cce14efb2385783b55014a461b176",
+ "reference": "058d17fc284cce14efb2385783b55014a461b176",
"shasum": ""
},
"require": {
@@ -6469,7 +6484,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v7.4.8"
+ "source": "https://github.com/symfony/process/tree/v7.4.17"
},
"funding": [
{
@@ -6489,20 +6504,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-24T13:12:05+00:00"
+ "time": "2026-08-21T17:40:08+00:00"
},
{
"name": "symfony/routing",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "9608de9873ec86e754fb6c0a0fa7e5f1a960eb6b"
+ "reference": "ddd558991e98f693ae6bf5063cc1b0362c6bbec3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/9608de9873ec86e754fb6c0a0fa7e5f1a960eb6b",
- "reference": "9608de9873ec86e754fb6c0a0fa7e5f1a960eb6b",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/ddd558991e98f693ae6bf5063cc1b0362c6bbec3",
+ "reference": "ddd558991e98f693ae6bf5063cc1b0362c6bbec3",
"shasum": ""
},
"require": {
@@ -6554,7 +6569,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v7.4.8"
+ "source": "https://github.com/symfony/routing/tree/v7.4.17"
},
"funding": [
{
@@ -6574,20 +6589,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-24T13:12:05+00:00"
+ "time": "2026-08-17T13:12:36+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.6.1",
+ "version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
+ "reference": "c0a284bab1ed8aa0417e3d69250ab437739563a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
- "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/c0a284bab1ed8aa0417e3d69250ab437739563a0",
+ "reference": "c0a284bab1ed8aa0417e3d69250ab437739563a0",
"shasum": ""
},
"require": {
@@ -6605,7 +6620,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.6-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -6641,7 +6656,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.7.1"
},
"funding": [
{
@@ -6661,24 +6676,24 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T11:30:57+00:00"
+ "time": "2026-06-16T09:55:08+00:00"
},
{
"name": "symfony/string",
- "version": "v8.0.8",
+ "version": "v8.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "ae9488f874d7603f9d2dfbf120203882b645d963"
+ "reference": "286a76b7255e5cc4bf0101a0bc5388ecf1c38ccc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/ae9488f874d7603f9d2dfbf120203882b645d963",
- "reference": "ae9488f874d7603f9d2dfbf120203882b645d963",
+ "url": "https://api.github.com/repos/symfony/string/zipball/286a76b7255e5cc4bf0101a0bc5388ecf1c38ccc",
+ "reference": "286a76b7255e5cc4bf0101a0bc5388ecf1c38ccc",
"shasum": ""
},
"require": {
- "php": ">=8.4",
+ "php": ">=8.4.1",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-intl-grapheme": "^1.33",
"symfony/polyfill-intl-normalizer": "^1.0",
@@ -6731,7 +6746,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v8.0.8"
+ "source": "https://github.com/symfony/string/tree/v8.1.2"
},
"funding": [
{
@@ -6751,24 +6766,24 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T15:14:47+00:00"
+ "time": "2026-07-28T07:35:25+00:00"
},
{
"name": "symfony/translation",
- "version": "v8.0.8",
+ "version": "v8.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f"
+ "reference": "d9e1caba0d6b6f9a26710af8a2f88d37f001215a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f",
- "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/d9e1caba0d6b6f9a26710af8a2f88d37f001215a",
+ "reference": "d9e1caba0d6b6f9a26710af8a2f88d37f001215a",
"shasum": ""
},
"require": {
- "php": ">=8.4",
+ "php": ">=8.4.1",
"symfony/polyfill-mbstring": "^1.0",
"symfony/translation-contracts": "^3.6.1"
},
@@ -6824,7 +6839,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v8.0.8"
+ "source": "https://github.com/symfony/translation/tree/v8.1.5"
},
"funding": [
{
@@ -6844,20 +6859,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T15:14:47+00:00"
+ "time": "2026-08-21T17:47:34+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v3.6.1",
+ "version": "v3.7.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "65a8bc82080447fae78373aa10f8d13b38338977"
+ "reference": "ccb206b98faccc511ebae8e5fad50f2dc0b30621"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977",
- "reference": "65a8bc82080447fae78373aa10f8d13b38338977",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/ccb206b98faccc511ebae8e5fad50f2dc0b30621",
+ "reference": "ccb206b98faccc511ebae8e5fad50f2dc0b30621",
"shasum": ""
},
"require": {
@@ -6870,7 +6885,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "3.6-dev"
+ "dev-main": "3.7-dev"
}
},
"autoload": {
@@ -6906,7 +6921,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.7.1"
},
"funding": [
{
@@ -6926,20 +6941,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T13:41:35+00:00"
+ "time": "2026-06-05T06:23:12+00:00"
},
{
"name": "symfony/uid",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "6883ebdf7bf6a12b37519dbc0df62b0222401b56"
+ "reference": "69d732355a139c6f8881337d28515aa01f12b8be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/6883ebdf7bf6a12b37519dbc0df62b0222401b56",
- "reference": "6883ebdf7bf6a12b37519dbc0df62b0222401b56",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/69d732355a139c6f8881337d28515aa01f12b8be",
+ "reference": "69d732355a139c6f8881337d28515aa01f12b8be",
"shasum": ""
},
"require": {
@@ -6984,7 +6999,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v7.4.8"
+ "source": "https://github.com/symfony/uid/tree/v7.4.17"
},
"funding": [
{
@@ -7004,20 +7019,20 @@
"type": "tidelift"
}
],
- "time": "2026-03-24T13:12:05+00:00"
+ "time": "2026-08-11T07:38:58+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v7.4.8",
+ "version": "v7.4.17",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd"
+ "reference": "53712df8727da1744490202eeb9cb50d4b95419d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9510c3966f749a1d1ff0059e1eabef6cc621e7fd",
- "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/53712df8727da1744490202eeb9cb50d4b95419d",
+ "reference": "53712df8727da1744490202eeb9cb50d4b95419d",
"shasum": ""
},
"require": {
@@ -7033,7 +7048,7 @@
"symfony/http-kernel": "^6.4|^7.0|^8.0",
"symfony/process": "^6.4|^7.0|^8.0",
"symfony/uid": "^6.4|^7.0|^8.0",
- "twig/twig": "^3.12"
+ "twig/twig": "^3.12|^4.0"
},
"bin": [
"Resources/bin/var-dump-server"
@@ -7071,7 +7086,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v7.4.8"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.4.17"
},
"funding": [
{
@@ -7091,7 +7106,7 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T13:44:50+00:00"
+ "time": "2026-08-21T12:09:28+00:00"
},
{
"name": "thecodingmachine/safe",
@@ -7378,16 +7393,16 @@
},
{
"name": "uspdev/laravel-usp-theme",
- "version": "2.8.27",
+ "version": "2.8.34",
"source": {
"type": "git",
"url": "https://github.com/uspdev/laravel-usp-theme.git",
- "reference": "75f09e02929d5588bd26f9ccad8f7b5300cb7162"
+ "reference": "71c9188d04c956049563a30b254ca1b52865cf0d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/uspdev/laravel-usp-theme/zipball/75f09e02929d5588bd26f9ccad8f7b5300cb7162",
- "reference": "75f09e02929d5588bd26f9ccad8f7b5300cb7162",
+ "url": "https://api.github.com/repos/uspdev/laravel-usp-theme/zipball/71c9188d04c956049563a30b254ca1b52865cf0d",
+ "reference": "71c9188d04c956049563a30b254ca1b52865cf0d",
"shasum": ""
},
"require": {
@@ -7425,22 +7440,22 @@
"description": "usp theme for laravel",
"support": {
"issues": "https://github.com/uspdev/laravel-usp-theme/issues",
- "source": "https://github.com/uspdev/laravel-usp-theme/tree/2.8.27"
+ "source": "https://github.com/uspdev/laravel-usp-theme/tree/2.8.34"
},
- "time": "2026-03-27T14:35:42+00:00"
+ "time": "2026-08-12T11:25:10+00:00"
},
{
"name": "uspdev/replicado",
- "version": "1.27.8",
+ "version": "1.28.3",
"source": {
"type": "git",
"url": "https://github.com/uspdev/replicado.git",
- "reference": "2ea81b6b0dca92e2fc9d3ea3f49812df90abcfae"
+ "reference": "18d85d4963a94c10f41c48854e6ae2ed0837fcb6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/uspdev/replicado/zipball/2ea81b6b0dca92e2fc9d3ea3f49812df90abcfae",
- "reference": "2ea81b6b0dca92e2fc9d3ea3f49812df90abcfae",
+ "url": "https://api.github.com/repos/uspdev/replicado/zipball/18d85d4963a94c10f41c48854e6ae2ed0837fcb6",
+ "reference": "18d85d4963a94c10f41c48854e6ae2ed0837fcb6",
"shasum": ""
},
"require": {
@@ -7474,9 +7489,9 @@
"homepage": "https://github.com/uspdev/replicado",
"support": {
"issues": "https://github.com/uspdev/replicado/issues",
- "source": "https://github.com/uspdev/replicado/tree/1.27.8"
+ "source": "https://github.com/uspdev/replicado/tree/1.28.3"
},
- "time": "2026-04-02T15:00:09+00:00"
+ "time": "2026-08-20T22:39:26+00:00"
},
{
"name": "uspdev/senhaunica-socialite",
@@ -7633,16 +7648,16 @@
},
{
"name": "vlucas/phpdotenv",
- "version": "v5.6.3",
+ "version": "v5.6.4",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "955e7815d677a3eaa7075231212f2110983adecc"
+ "reference": "416df702837983f8d5ff48c9c3fee4f5f57b980b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc",
- "reference": "955e7815d677a3eaa7075231212f2110983adecc",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/416df702837983f8d5ff48c9c3fee4f5f57b980b",
+ "reference": "416df702837983f8d5ff48c9c3fee4f5f57b980b",
"shasum": ""
},
"require": {
@@ -7701,7 +7716,7 @@
],
"support": {
"issues": "https://github.com/vlucas/phpdotenv/issues",
- "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.3"
+ "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.4"
},
"funding": [
{
@@ -7713,27 +7728,27 @@
"type": "tidelift"
}
],
- "time": "2025-12-27T19:49:13+00:00"
+ "time": "2026-07-06T19:11:50+00:00"
},
{
"name": "voku/portable-ascii",
- "version": "2.0.3",
+ "version": "2.1.1",
"source": {
"type": "git",
"url": "https://github.com/voku/portable-ascii.git",
- "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d"
+ "reference": "8e1051fe39379367aecf014f41744ce7539a856f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
- "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
+ "url": "https://api.github.com/repos/voku/portable-ascii/zipball/8e1051fe39379367aecf014f41744ce7539a856f",
+ "reference": "8e1051fe39379367aecf014f41744ce7539a856f",
"shasum": ""
},
"require": {
- "php": ">=7.0.0"
+ "php": ">=7.1.0"
},
"require-dev": {
- "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0"
+ "phpunit/phpunit": "~8.5 || ~9.6 || ~10.5 || ~11.5"
},
"suggest": {
"ext-intl": "Use Intl for transliterator_transliterate() support"
@@ -7763,7 +7778,7 @@
],
"support": {
"issues": "https://github.com/voku/portable-ascii/issues",
- "source": "https://github.com/voku/portable-ascii/tree/2.0.3"
+ "source": "https://github.com/voku/portable-ascii/tree/2.1.1"
},
"funding": [
{
@@ -7787,7 +7802,7 @@
"type": "tidelift"
}
],
- "time": "2024-11-21T01:49:47+00:00"
+ "time": "2026-04-26T05:33:54+00:00"
}
],
"packages-dev": [
@@ -7927,19 +7942,21 @@
},
{
"name": "hamcrest/hamcrest-php",
- "version": "v2.1.1",
+ "version": "v3.0.0",
"source": {
"type": "git",
"url": "https://github.com/hamcrest/hamcrest-php.git",
- "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487"
+ "reference": "b61cd040da1a4925bc90a51c074f5297e7c0fa52"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487",
- "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487",
+ "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b61cd040da1a4925bc90a51c074f5297e7c0fa52",
+ "reference": "b61cd040da1a4925bc90a51c074f5297e7c0fa52",
"shasum": ""
},
"require": {
+ "ext-ctype": "*",
+ "ext-dom": "*",
"php": "^7.4|^8.0"
},
"replace": {
@@ -7948,13 +7965,15 @@
"kodova/hamcrest-php": "*"
},
"require-dev": {
+ "phpstan/phpstan": "^2.1",
+ "phpstan/phpstan-phpunit": "^2.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": {
"branch-alias": {
- "dev-master": "2.1-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -7972,9 +7991,9 @@
],
"support": {
"issues": "https://github.com/hamcrest/hamcrest-php/issues",
- "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1"
+ "source": "https://github.com/hamcrest/hamcrest-php/tree/v3.0.0"
},
- "time": "2025-04-30T06:54:44+00:00"
+ "time": "2026-03-17T11:56:53+00:00"
},
{
"name": "laravel/dusk",
@@ -8052,16 +8071,16 @@
},
{
"name": "laravel/sail",
- "version": "v1.56.0",
+ "version": "v1.67.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
- "reference": "f43426bb42a1cb7a51a3861d9138063e54766d28"
+ "reference": "639e03ac12cf23def171770bcab05758045b2642"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/sail/zipball/f43426bb42a1cb7a51a3861d9138063e54766d28",
- "reference": "f43426bb42a1cb7a51a3861d9138063e54766d28",
+ "url": "https://api.github.com/repos/laravel/sail/zipball/639e03ac12cf23def171770bcab05758045b2642",
+ "reference": "639e03ac12cf23def171770bcab05758045b2642",
"shasum": ""
},
"require": {
@@ -8111,33 +8130,32 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
- "time": "2026-04-01T15:17:32+00:00"
+ "time": "2026-08-12T13:55:56+00:00"
},
{
"name": "mockery/mockery",
- "version": "1.6.12",
+ "version": "1.6.15",
"source": {
"type": "git",
"url": "https://github.com/mockery/mockery.git",
- "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699"
+ "reference": "967a801bd188989a5669bd280f252d51c0fdc9ee"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699",
- "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699",
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/967a801bd188989a5669bd280f252d51c0fdc9ee",
+ "reference": "967a801bd188989a5669bd280f252d51c0fdc9ee",
"shasum": ""
},
"require": {
- "hamcrest/hamcrest-php": "^2.0.1",
- "lib-pcre": ">=7.0",
+ "hamcrest/hamcrest-php": "^2.0 || ^3.0",
"php": ">=7.3"
},
"conflict": {
"phpunit/phpunit": "<8.0"
},
"require-dev": {
- "phpunit/phpunit": "^8.5 || ^9.6.17",
- "symplify/easy-coding-standard": "^12.1.14"
+ "phpunit/phpunit": "^9.6.36",
+ "symplify/easy-coding-standard": "^13.2.17"
},
"type": "library",
"autoload": {
@@ -8194,24 +8212,24 @@
"security": "https://github.com/mockery/mockery/security/advisories",
"source": "https://github.com/mockery/mockery"
},
- "time": "2024-05-16T03:13:13+00:00"
+ "time": "2026-08-19T19:37:52+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.13.4",
+ "version": "1.14.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a"
+ "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a",
- "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae",
+ "reference": "8680aa248f8e07bc8fb43f56f0f5fc77a0c96aae",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^8.0"
},
"conflict": {
"doctrine/collections": "<1.6.8",
@@ -8246,35 +8264,35 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.14.0"
},
"funding": [
{
- "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
- "type": "tidelift"
+ "url": "https://github.com/mnapoli",
+ "type": "github"
}
],
- "time": "2025-08-01T08:46:24+00:00"
+ "time": "2026-08-11T10:17:44+00:00"
},
{
"name": "nunomaduro/collision",
- "version": "v8.9.2",
+ "version": "v8.9.5",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
- "reference": "6eb16883e74fd725ac64dbe81544c961ab448ba5"
+ "reference": "fb53eacd509a1d303858e2d20cfebf2d630254ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/6eb16883e74fd725ac64dbe81544c961ab448ba5",
- "reference": "6eb16883e74fd725ac64dbe81544c961ab448ba5",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/fb53eacd509a1d303858e2d20cfebf2d630254ec",
+ "reference": "fb53eacd509a1d303858e2d20cfebf2d630254ec",
"shasum": ""
},
"require": {
"filp/whoops": "^2.18.4",
"nunomaduro/termwind": "^2.4.0",
"php": "^8.2.0",
- "symfony/console": "^7.4.8 || ^8.0.4"
+ "symfony/console": "^7.4.14 || ^8.1.1"
},
"conflict": {
"laravel/framework": "<11.48.0 || >=14.0.0",
@@ -8282,12 +8300,12 @@
},
"require-dev": {
"brianium/paratest": "^7.8.5",
- "larastan/larastan": "^3.9.3",
- "laravel/framework": "^11.48.0 || ^12.56.0 || ^13.2.0",
- "laravel/pint": "^1.29.0",
- "orchestra/testbench-core": "^9.12.0 || ^10.12.1 || ^11.0.0",
- "pestphp/pest": "^3.8.5 || ^4.4.3 || ^5.0.0",
- "sebastian/environment": "^7.2.1 || ^8.0.4 || ^9.0.0"
+ "larastan/larastan": "^3.10.0",
+ "laravel/framework": "^11.48.0 || ^12.56.0 || ^13.20.0",
+ "laravel/pint": "^1.29.3",
+ "orchestra/testbench-core": "^9.12.0 || ^10.12.1 || ^11.3.5",
+ "pestphp/pest": "^3.8.5 || ^4.7.5 || ^5.0.0",
+ "sebastian/environment": "^7.2.1 || ^8.1.2 || ^9.3.2"
},
"type": "library",
"extra": {
@@ -8350,7 +8368,7 @@
"type": "patreon"
}
],
- "time": "2026-03-31T21:51:27+00:00"
+ "time": "2026-07-15T19:09:14+00:00"
},
{
"name": "phar-io/manifest",
@@ -8885,24 +8903,24 @@
},
{
"name": "phpunit/phpunit",
- "version": "11.5.55",
+ "version": "11.5.56",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "adc7262fccc12de2b30f12a8aa0b33775d814f00"
+ "reference": "5f83edffa6967c3db468d48a695ec7bcb02e9256"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/adc7262fccc12de2b30f12a8aa0b33775d814f00",
- "reference": "adc7262fccc12de2b30f12a8aa0b33775d814f00",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5f83edffa6967c3db468d48a695ec7bcb02e9256",
+ "reference": "5f83edffa6967c3db468d48a695ec7bcb02e9256",
"shasum": ""
},
"require": {
"ext-dom": "*",
+ "ext-filter": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
- "ext-xml": "*",
"ext-xmlwriter": "*",
"myclabs/deep-copy": "^1.13.4",
"phar-io/manifest": "^2.0.4",
@@ -8967,31 +8985,15 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.55"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.56"
},
"funding": [
{
- "url": "https://phpunit.de/sponsors.html",
- "type": "custom"
- },
- {
- "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"
+ "url": "https://phpunit.de/sponsoring.html",
+ "type": "other"
}
],
- "time": "2026-02-18T12:37:06+00:00"
+ "time": "2026-07-06T14:52:39+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -10119,16 +10121,16 @@
},
{
"name": "spatie/flare-client-php",
- "version": "1.11.0",
+ "version": "1.11.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/flare-client-php.git",
- "reference": "fb3ffb946675dba811fbde9122224db2f84daca9"
+ "reference": "53f41b08a27cc039e1a8ed2be9a202e924f31bad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/fb3ffb946675dba811fbde9122224db2f84daca9",
- "reference": "fb3ffb946675dba811fbde9122224db2f84daca9",
+ "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/53f41b08a27cc039e1a8ed2be9a202e924f31bad",
+ "reference": "53f41b08a27cc039e1a8ed2be9a202e924f31bad",
"shasum": ""
},
"require": {
@@ -10176,7 +10178,7 @@
],
"support": {
"issues": "https://github.com/spatie/flare-client-php/issues",
- "source": "https://github.com/spatie/flare-client-php/tree/1.11.0"
+ "source": "https://github.com/spatie/flare-client-php/tree/1.11.1"
},
"funding": [
{
@@ -10184,7 +10186,7 @@
"type": "github"
}
],
- "time": "2026-03-17T08:06:16+00:00"
+ "time": "2026-05-15T09:31:32+00:00"
},
{
"name": "spatie/ignition",
@@ -10418,27 +10420,28 @@
},
{
"name": "symfony/yaml",
- "version": "v8.0.8",
+ "version": "v8.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "54174ab48c0c0f9e21512b304be17f8150ccf8f1"
+ "reference": "b3fc9e8888eeb9daddc33bfbd15d282a61f543cd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/54174ab48c0c0f9e21512b304be17f8150ccf8f1",
- "reference": "54174ab48c0c0f9e21512b304be17f8150ccf8f1",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/b3fc9e8888eeb9daddc33bfbd15d282a61f543cd",
+ "reference": "b3fc9e8888eeb9daddc33bfbd15d282a61f543cd",
"shasum": ""
},
"require": {
- "php": ">=8.4",
+ "php": ">=8.4.1",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"symfony/console": "<7.4"
},
"require-dev": {
- "symfony/console": "^7.4|^8.0"
+ "symfony/console": "^7.4|^8.0",
+ "yaml/yaml-test-suite": "*"
},
"bin": [
"Resources/bin/yaml-lint"
@@ -10469,7 +10472,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v8.0.8"
+ "source": "https://github.com/symfony/yaml/tree/v8.1.5"
},
"funding": [
{
@@ -10489,7 +10492,7 @@
"type": "tidelift"
}
],
- "time": "2026-03-30T15:14:47+00:00"
+ "time": "2026-08-21T12:16:08+00:00"
},
{
"name": "theseer/tokenizer",
diff --git a/config/laravel-usp-theme.php b/config/laravel-usp-theme.php
index 310228b..f11504d 100644
--- a/config/laravel-usp-theme.php
+++ b/config/laravel-usp-theme.php
@@ -12,6 +12,11 @@
'url' => config('app.url') . '/tipo-portas',
'can' => 'admin',
],
+ [
+ 'text' => ' Modelos de Switches',
+ 'url' => config('app.url') . '/modelo-switches',
+ 'can' => 'admin',
+ ],
];
$right_menu = [
diff --git a/database/migrations/2026_08_20_085010_create_modelo_switches_table.php b/database/migrations/2026_08_20_085010_create_modelo_switches_table.php
new file mode 100644
index 0000000..156a0bc
--- /dev/null
+++ b/database/migrations/2026_08_20_085010_create_modelo_switches_table.php
@@ -0,0 +1,32 @@
+id();
+ $table->string('nome');
+ $table->string('fabricante');
+ $table->integer('qtde_portas');
+ $table->integer('qtde_portas_poe')->default(0);
+ $table->foreignId('user_id')->constrained();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('modelo_switches');
+ }
+};
diff --git a/database/migrations/2026_08_20_085226_alter_equipamentos_nova_estrutura.php.php b/database/migrations/2026_08_20_085226_alter_equipamentos_nova_estrutura.php.php
new file mode 100644
index 0000000..d9497fd
--- /dev/null
+++ b/database/migrations/2026_08_20_085226_alter_equipamentos_nova_estrutura.php.php
@@ -0,0 +1,33 @@
+foreignId('modelo_switch_id')->after('rack_id')->constrained('modelo_switches');
+ $table->enum('tipo', ['A', 'W', 'C', 'V'])->after('modelo_switch_id')->default('A');
+ $table->integer('ordem')->after('tipo')->default(0);
+ $table->text('comentario')->nullable()->after('ordem');
+
+ $table->dropColumn(['model', 'qtde_portas', 'poe_type']);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('equipamentos', function (Blueprint $table) {
+ //
+ });
+ }
+};
\ No newline at end of file
diff --git a/database/migrations/2026_08_20_085400_add_ordem_to_patch_panels.php b/database/migrations/2026_08_20_085400_add_ordem_to_patch_panels.php
new file mode 100644
index 0000000..60f0bf4
--- /dev/null
+++ b/database/migrations/2026_08_20_085400_add_ordem_to_patch_panels.php
@@ -0,0 +1,28 @@
+integer('ordem')->default(0)->after('rack_id');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('patch_panels', function (Blueprint $table) {
+ //
+ });
+ }
+};
diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php
index 60c5ad3..4e44a97 100644
--- a/database/seeders/DatabaseSeeder.php
+++ b/database/seeders/DatabaseSeeder.php
@@ -18,6 +18,7 @@ public function run()
PortaSeeder::class,
SnapshotSeeder::class,
MacSeeder::class,
+ ModeloSwitchSeeder::class,
]);
}
}
diff --git a/database/seeders/ModeloSwitchSeeder.php b/database/seeders/ModeloSwitchSeeder.php
new file mode 100644
index 0000000..d36cda0
--- /dev/null
+++ b/database/seeders/ModeloSwitchSeeder.php
@@ -0,0 +1,25 @@
+ '1920S 24G', 'fabricante' => 'HP', 'qtde_portas' => 24, 'qtde_portas_poe' => 12],
+ ['nome' => '1920S 48G', 'fabricante' => 'HP', 'qtde_portas' => 48, 'qtde_portas_poe' => 24],
+ ['nome' => 'Catalyst 2960', 'fabricante' => 'Cisco', 'qtde_portas' => 24, 'qtde_portas_poe' => 24],
+ ['nome' => 'Catalyst 3750', 'fabricante' => 'Cisco', 'qtde_portas' => 48, 'qtde_portas_poe' => 48],
+ ['nome' => '2530-24G', 'fabricante' => 'Aruba', 'qtde_portas' => 24, 'qtde_portas_poe' => 0],
+ ['nome' => '2930F 48G', 'fabricante' => 'Aruba', 'qtde_portas' => 48, 'qtde_portas_poe' => 48],
+ ];
+
+ foreach ($modelos as $m) {
+ ModeloSwitch::create($m + ['user_id' => 1]);
+ }
+ }
+}
\ No newline at end of file
diff --git a/phpunit.dusk.xml b/phpunit.dusk.xml
new file mode 100644
index 0000000..e5c2ef3
--- /dev/null
+++ b/phpunit.dusk.xml
@@ -0,0 +1,23 @@
+
+