PHPackages                             djl997/laravel-maintenance-scheduler - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. djl997/laravel-maintenance-scheduler

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

djl997/laravel-maintenance-scheduler
====================================

Package to manage application version, schedule maintenance, version changelog and maintenance mode.

0.8.0(2y ago)0168MITPHPPHP ^8.0

Since Nov 11Pushed 2y ago1 watchersCompare

[ Source](https://github.com/djl997/laravel-maintenance-scheduler)[ Packagist](https://packagist.org/packages/djl997/laravel-maintenance-scheduler)[ RSS](/packages/djl997-laravel-maintenance-scheduler/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (18)Used By (0)

Laravel Maintenance Scheduler
=============================

[](#laravel-maintenance-scheduler)

[![Latest Version on Packagist](https://camo.githubusercontent.com/4523faa5b30453300b8f535e78822972031455780ccf75eac01c73dac977eef0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f646a6c3939372f6c61726176656c2d6d61696e74656e616e63652d7363686564756c65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/djl997/laravel-maintenance-scheduler)[![Total Downloads](https://camo.githubusercontent.com/7538d02231b13efc41e04d49030176427f3493d09ee93564653eca38286fbc38/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f646a6c3939372f6c61726176656c2d6d61696e74656e616e63652d7363686564756c65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/djl997/laravel-maintenance-scheduler)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)

Laravel Maintenance Scheduler is a package to manage your application versions, schedule maintenance, generate changelog and make maintenance mode more user friendly. The goal is to inform end-users about the maintenance schedule and version changes. This package will not manage automated releases and/or run release scripts and/or automatically publish generated changelogs.

Features
--------

[](#features)

- Generate scheduled human readable maintenance messages.
- Generate minor or patch version numbers, with one PHP Artisan Command.
- Generate changelog (Semantic Versioning)
- Automatically hook into `php artisan down` and `php artisan up`
- If no maintenance moments are scheduled, it will create and activate an unscheduled maintenance moment automatically.

### Roadmap

[](#roadmap)

Here is a rough roadmap of things to come (not in any specific order):

- Generate changelog.md file
- Create cancel command
- Improve setup
- Connect recalculation to initial version
- Configure initial version
- Add current version to app layout (+how to)
- Configure first version
- Translations (EN, NL, DE)

Requirements
------------

[](#requirements)

Laravel Maintenance Scheduler requires PHP 8+ and Laravel 8+.

Installation
------------

[](#installation)

You can use this package in your project via composer:

```
composer require djl997/laravel-maintenance-scheduler
```

### Light version

[](#light-version)

In the light version, you don't need any database tables. Just configure the version via the `config/maintenance-scheduler.php` config file:

```
php artisan vendor:publish --tag=maintenance-config

```

### Full version

[](#full-version)

Publish migration files:

```
php artisan vendor:publish --tag=maintenance-migrations

```

Migrate the required database table `maintenance_schedule`:

```
php artisan migrate
```

Install first version.

```
php artisan maintenance:install
```

Usage
-----

[](#usage)

> Note! This package is still in development. You are welcome to use this package, but major changes in API can happen. No promises.

### Commands:

[](#commands)

```
php artisan maintenance:list # List all versions
php artisan maintenance:create # Wizard to create and schedule a new maintenance
php artisan maintenance:delete {maintenanceID} # Delete one specific maintenance by ID
php artisan maintenance:recalculate # Recalculate version structure (semver)
```

### Enable Maintenance Mode:

[](#enable-maintenance-mode)

To activate maintenance mode, run the default Laravel command `php artisan down`. Laravel Maintenance Scheduler will search for scheduled maintenances scoped to that date and activate them. Note if no maintenances were scheduled, there will automatically be an unscheduled maintenance created and activated.

### Disable Maintenance Mode:

[](#disable-maintenance-mode)

To deactivate maintenance mode, run `php artisan up`. Laravel Maintenance Scheduler will complete the active maintenance and make it available for a changelog. You can copy-paste this for example to Github.

### Show maintenance message:

[](#show-maintenance-message)

```
use Djl997\LaravelMaintenanceScheduler\Models\MaintenanceSchedule;

$message = MaintenanceSchedule::getMaintenanceMessage();
```

### Show current version:

[](#show-current-version)

```
use Djl997\LaravelMaintenanceScheduler\Models\MaintenanceSchedule;

$version = MaintenanceSchedule::getCurrentVersion();
```

The value is cached in Laravel Cache to prevent unnecessary queries to the database. If the incorrect version is showed you can try to run `php artisan cache:clear` or `php artisan optimize:clear` and check if it will work after that.

Custom Configuration
--------------------

[](#custom-configuration)

If you want to change the [default config](config/config.php) you can publish the config file:

```
php artisan vendor:publish --tag=maintenance-config

```

After editting the config file, please run `php artisan maintenance:recalculate`. All versions should be updated to your new structure.

Events
------

[](#events)

Laravel Maintenance Scheduler doesn't dispatch it's own events. In stead we hook into the default Laravel Artisan Events: `MaintenanceModeEnabled` and `MaintenanceModeDisabled`. Of course you can do this too.

In addition, you can observe the MaintenanceSchedule model in your application's `App\Providers\EventServiceProvider` class:

```
use Djl997\LaravelMaintenanceScheduler\Models\MaintenanceSchedule;

MaintenanceSchedule::observe(YourObserver::class);
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

This package is in active development, ideas or improvements are welcome.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~30 days

Recently: every ~95 days

Total

17

Last Release

801d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/61d06c885745a581b7313ca440075d14611fa5dc7840e43031d2fd2a056a50e4?d=identicon)[djl997](/maintainers/djl997)

---

Top Contributors

[![djl997](https://avatars.githubusercontent.com/u/27086857?v=4)](https://github.com/djl997 "djl997 (23 commits)")

---

Tags

laravel maintenance modeschedule-maintenance

### Embed Badge

![Health badge](/badges/djl997-laravel-maintenance-scheduler/health.svg)

```
[![Health](https://phpackages.com/badges/djl997-laravel-maintenance-scheduler/health.svg)](https://phpackages.com/packages/djl997-laravel-maintenance-scheduler)
```

###  Alternatives

[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[gehrisandro/tailwind-merge-laravel

TailwindMerge for Laravel merges multiple Tailwind CSS classes by automatically resolving conflicts between them

341682.2k18](/packages/gehrisandro-tailwind-merge-laravel)[nickurt/laravel-akismet

Akismet for Laravel 11.x/12.x/13.x

97139.6k2](/packages/nickurt-laravel-akismet)[whitecube/laravel-timezones

Store UTC dates in the database and work with custom timezones in the application.

106106.2k](/packages/whitecube-laravel-timezones)[sbine/route-viewer

A Laravel Nova tool to view your registered routes.

57215.9k](/packages/sbine-route-viewer)[forxer/laravel-gravatar

A library providing easy gravatar integration in a Laravel project.

4235.6k](/packages/forxer-laravel-gravatar)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
