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

This package is auto-updated.

Last update: 2025-09-11 07:07:27 UTC


README

License: MIT PHP Version Laravel Version

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

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m 'Add new feature')
  4. Push to the branch (git push origin feature/my-feature)
  5. Open a Pull Request

📝 License

MIT License — see LICENSE.

📧 Author

Aseeb Shibin