aseeb / laravel-api-changelog-generator
Automatically generates a changelog for Laravel API changes by monitoring routes, models, and resources.
v1.0.0
2025-09-11 06:04 UTC
Requires
- php: ^8.1
- illuminate/console: ^9.0 || ^10.0 || ^11.0 || ^12.0
- illuminate/contracts: ^9.0 || ^10.0 || ^11.0 || ^12.0
- illuminate/filesystem: ^9.0 || ^10.0 || ^11.0 || ^12.0
- illuminate/support: ^9.0 || ^10.0 || ^11.0 || ^12.0
- symfony/finder: ^6.0 || ^7.0
README
Automatically generates a changelog for Laravel API changes by monitoring:
- API routes
- Eloquent models
- API resources
Keeps backend and frontend teams in sync and ensures smooth collaboration.
⚡ No security concerns: This package only reads your codebase and generates changelog files. It does not send data externally or modify your application.
🌐 Features
- Detect added, removed, or modified API routes.
- Track fillable and casts changes in models.
- Track changes in API resources (method signatures).
- Generate a Markdown changelog (
API_CHANGELOG.md
). - Incrementally compare snapshots for accurate change detection.
- Fully compatible with Laravel 9, 10, 11, and 12.
⚙️ Installation
Via Composer
composer require aseeb/laravel-api-changelog-generator:@dev
After a stable release (tagged version), you can install without
@dev
:composer require aseeb/laravel-api-changelog-generator:^1.0
Publish Configuration (Optional)
php artisan vendor:publish --provider="Aseeb\ApiChangelogGenerator\ApiChangelogGeneratorServiceProvider" --tag=config
- This creates
config/api-changelog.php
in your Laravel project. - Customize paths, snapshot storage, or changelog file location.
- paths.models → Eloquent models directory.
- paths.resources → API resources directory.
- api_route_prefix → Only scan routes starting with this prefix.
- snapshot_file → Internal JSON snapshot.
- changelog_file → Markdown changelog file.
🚀 Usage
Generate API Changelog
php artisan api:changelog
- First run: creates an initial snapshot.
- Subsequent runs: compares changes and appends them to
API_CHANGELOG.md
.
Example Output
# API Changelog ## [September 11, 2025] ### Routes Changes #### Added - `GET /api/users` #### Removed - `POST /api/old-endpoint` #### Modified - `PUT /api/profile` was modified. ### Models Changes #### Added - `App\Models\User` #### Modified - `App\Models\Post` was modified. ### Resources Changes #### Modified - `App\Http\Resources\UserResource` was modified.
🎨 Benefits
- Automates documentation of API changes.
- Keeps frontend developers up-to-date with backend changes.
- Avoids manual tracking of routes, models, and resources.
- Safe for production use — no external calls or data modifications.
🛡 Security
- No data leaves your system.
- Only reads local files and writes a changelog.
- No sensitive information is exposed.
- Fully safe for production environments.
💡 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature
) - Commit your changes (
git commit -m 'Add new feature'
) - Push to the branch (
git push origin feature/my-feature
) - Open a Pull Request
📝 License
MIT License — see LICENSE.
📧 Author
Aseeb Shibin
- Email: aseebshibin4@gmail.com
- GitHub: https://github.com/aseeb