A comprehensive Filament plugin that provides real-time visibility into all package versions within your Filament PHP application. This essential developer tool creates a centralized dashboard where you can instantly view, monitor, and track the current versions of all installed packages in your project and what the latest version is.
cmsmaxinc/filament-system-versions is a Laravel package for a comprehensive filament plugin that provides real-time visibility into all package versions within your filament php application. this essential developer tool creates a centralized dashboard where you can instantly view, monitor, and track the current versions of all installed packages in your project and what the latest version is..
It currently has 13 GitHub stars and 33.192 downloads on Packagist (latest version 2.2.2).
Install it with composer require cmsmaxinc/filament-system-versions.
Discover more Laravel packages by cmsmaxinc
or browse all Laravel packages to compare alternatives.
Last updated
![]()
This package provides a comprehensive system information page and widgets for Filament panels, showcasing current system versions, PHP information, and Composer dependencies.
You can install the package via composer:
composer require cmsmaxinc/filament-system-versions
Add the plugin to your Filament panel configuration:
use Cmsmaxinc\FilamentSystemVersions\FilamentSystemVersionsPlugin;
use Filament\Panel;
public function panel(Panel $panel): Panel
{
return $panel
// ... other configuration
->plugin(FilamentSystemVersionsPlugin::make());
}
php artisan vendor:publish --tag="filament-system-versions-migrations"
php artisan migrate
Publish the config file:
php artisan vendor:publish --tag="filament-system-versions-config"
This is the contents of the published config file:
return [
'database' => [
'table_name' => 'composer_versions',
],
'widgets' => [
'dependency' => [
'show_direct_only' => true,
],
],
'paths' => [
'php_path' => env('PHP_PATH', ''),
'composer_path' => env('COMPOSER_PATH', ''),
],
];
If you want to customize the translations, you can publish the translations file:
php artisan vendor:publish --tag="filament-system-versions-translations"
Once the plugin is registered, a "System Versions" page will automatically be added to your Filament panel under the "Settings" navigation group. This page displays:
You can customize the navigation appearance and behavior using fluent methods when registering the plugin:
use Cmsmaxinc\FilamentSystemVersions\FilamentSystemVersionsPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ... other configuration
->plugin(
FilamentSystemVersionsPlugin::make()
->navigationLabel('System Info')
->navigationGroup('Administration')
->navigationIcon('heroicon-o-cpu-chip') // Or use Enum
->navigationSort(10)
);
}
Access to the System Info page can be restricted through the authorize method provided by the plugin.
This method accepts either a simple boolean or a closure, and must resolve to true when the current user should be allowed to view the page.
use Cmsmaxinc\FilamentSystemVersions\FilamentSystemVersionsPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ... other configuration
->plugin(
FilamentSystemVersionsPlugin::make()
// Example with Spatie Roles / Filament Shield
->authorize(fn () => auth()->user()?->hasRole('super_admin'))
// Example with is_admin column on users table
->authorize(fn () => auth()->user()?->is_admin)
);
}
navigationLabel(string $label) - Set the navigation menu label (default: 'System Versions')navigationGroup(string $group) - Set the navigation group (default: 'Settings')navigationIcon(string $icon) - Set the navigation icon (default: 'heroicon-o-document-text')navigationSort(int $sort) - Set the navigation sort order (default: 99999)authorize(bool | Closure) - Define whether the current user is allowed to access the page. Accepts either a bool (true or false) or a Closure that returns a boolean (default: true).[!NOTE]
Make sure you run this command at least once to store the current composer dependencies.
To check for outdated composer dependencies:
php artisan dependency:versions
Add the command to your scheduler to run it automatically:
use Cmsmaxinc\FilamentSystemVersions\Commands\CheckDependencyVersions;
// In your Console Kernel or service provider
Schedule::command(CheckDependencyVersions::class)->daily();
You can also use the widgets independently in your own pages or dashboards:
Displays all outdated composer dependencies with current and latest versions:
use Cmsmaxinc\FilamentSystemVersions\Filament\Widgets\DependencyWidget;
->widgets([
DependencyWidget::class
])
Shows system environment information:
use Cmsmaxinc\FilamentSystemVersions\Filament\Widgets\SystemInfoWidget;
->widgets([
SystemInfoWidget::class
])
Create custom stat widgets for specific dependencies:
use Cmsmaxinc\FilamentSystemVersions\Filament\Widgets\DependencyStat;
use Filament\Widgets\StatsOverviewWidget as BaseWidget;
class CustomStats extends BaseWidget
{
protected function getStats(): array
{
return [
DependencyStat::make('Laravel')
->dependency('laravel/framework'),
DependencyStat::make('FilamentPHP')
->dependency('filament/filament'),
DependencyStat::make('Livewire')
->dependency('livewire/livewire'),
];
}
}
To add widgets to custom blade views:
<x-filament-panels::page>
@livewire(\Cmsmaxinc\FilamentSystemVersions\Filament\Widgets\DependencyWidget::class)
@livewire(\Cmsmaxinc\FilamentSystemVersions\Filament\Widgets\SystemInfoWidget::class)
</x-filament-panels::page>
If you're using a custom theme, add the following to your theme.css file to ensure proper styling:
@source '../../../../vendor/cmsmaxinc/filament-system-versions/resources/**/*.blade.php';