Laravel Versionable

screenshot of Laravel Versionable

Make Laravel model versionable

Overview

Laravel Versionable is a powerful package designed for Laravel applications that simplifies the management of version history for models. If you've ever struggled with tracking changes made to your Eloquent models, this tool offers a streamlined solution to maintain and revert to previous versions effortlessly. With its minimalist design, you can focus on your application’s growth without getting bogged down in complicated versioning procedures.

This package is compatible with Laravel 9.0 and above and requires PHP 8.1 or higher. With features that allow for customization and fine control over which attributes are versioned, Laravel Versionable is a go-to tool for developers who want to implement version control in a clean and efficient way.

Features

  • Version History Management: Keep the specified number of versions for each model, making it easy to track changes over time.

  • Whitelist and Blacklist Support: Control which attributes are versionable by easily setting up whitelists and blacklists.

  • One-Click Reversion: Effortlessly revert a model instance to a specified version without hassle.

  • Changed Attributes Recording: Record only the attributes that have changed, keeping your version history concise.

  • Customizable Settings: Flexibly customize how versions are created and stored by overriding default strategies.

  • Integration with Tools: Seamlessly integrate with other packages like Filament for enhanced version management features.

  • Diff Rendering Capabilities: View differences between versions through a diff object that supports multiple rendering formats.

  • Custom Version Models: Alter the default version model used, allowing for extended functionality and data storage strategies.