glorand/laravel-model-settings
Model Settings for your Laravel app
9.0.2
1.3M downloads/mo
#3455 most downloaded on Packagist
glorand/laravel-model-settings
What this package is like to depend on
Last release 1 months ago
22 Jul 2026
Release timing varies
gaps range from 2 weeks to 12 months
Most releases are documented
notes for 44 of 50 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
50 releases · first in 2019
5 releases in the last 12 months
see the full history below
Release timeline
50 releases · Jan 2019 to Jul 2026Releases
latest 50-
9.0.222 Jul 2026Nothing published for this version
-
9.0.122 Jul 2026 -
9.0.021 Jul 2026Release notes
Open source →V9 is a major refactor that unifies the storage backends into a single, configuration-driven system. This release simplifies the API surface, reduces boilerplate, and provides better extensibility for custom drivers.
🔄 Breaking Changes
Migration Required — see MIGRATION_GUIDE_8_to_9.mdRemoved HasSettingsField, HasSettingsTable, HasSettingsRedis traits
Removed flat settings_* config keys (env vars unchanged)
Requires PHP 8.2+ and Laravel 12–13 (dropped 10/11, PHP 8.1)
Mutations (set, update, delete, etc.) now persist only overrides; defaults are no longer copied into storage
Validation runs against the effective (merged) result, not just persisted data
table and redis drivers throw ModelSettingsException when model has no primary key
Redis driver deletes the storage key on clear() instead of storing empty arrayRelease notes
Open source →Added
- Single
HasSettingstrait with configuration-driven driver selection (MODEL_SETTINGS_DRIVERenv /driverconfig / per-model$settingsDriverproperty) SettingsManagerFactorysingleton withextend()for registering custom drivers at runtime- Driver-scoped config: driver-specific keys live under
drivers.<name>.* - Optional Redis driver options:
drivers.redis.connection(named connection) anddrivers.redis.key_prefix
Changed (BREAKING)
- Removed the
HasSettingsField,HasSettingsTableandHasSettingsRedistraits - see MIGRATION_GUIDE_8_to_9.md - Removed the flat
settings_*config keys (env variable names are unchanged) - Requires PHP ^8.2 and Laravel 12/13 (drop Laravel 10/11, PHP 8.1)
- Mutations (
set,update,delete,setMultiple,deleteMultiple) persist only the stored overrides - defaults are no longer copied into storage; validation runs against the effective (default-merged) result - The
tableandredisdrivers throwModelSettingsExceptionwhen the model has no primary key yet - The
redisdriver deletes the storage key when settings are cleared instead of storing an empty array
Fix
- The field driver's internal schema-check cache key now includes the table name (two models on different tables no longer share one cached result)
- Single
-
8.0.413 Apr 2026Release notes
Open source →What's Changed
- Laravel 13.x Compatibility by @laravel-shift in #134
- Minor layout change readme.md by @tobya in #133
New Contributors
Full Changelog: 8.0.3...8.0.4
-
8.0.314 Sep 2025Release notes
Open source →Removed Model::getConnectionName() override and moved fallback to eac…
…h call. (#122)
-
8.0.218 Jun 2025Release notes
Open source →What's Changed
- fix: nullable type parameter deprecation on PHP 8.4
New Contributor
-
8.0.115 Mar 2025 -
8.0.028 Feb 2025Release notes
Open source → -
7.0.013 Mar 2024 -
6.0.320 Sep 2023Release notes
Open source →Fix "Segmentation fault" for model inheritance (#109)
* Fix "Segmentation fault" for model inheritance
* Fix formatting
-
6.0.219 Jun 2023Nothing published for this version
-
6.0.020 Feb 2023Nothing published for this version
-
5.0.121 Jan 2023Nothing published for this version
-
5.0.010 Feb 2022Release notes
Open source →Added
- Add support for Laravel 9 by @belzaaron
- DROP Laravel 7,8 support
- 8.0 min. php version
-
4.4.112 Nov 2021 -
4.4.001 Nov 2021 -
4.3.011 Oct 2021 -
4.2.207 Apr 2021 -
4.2.114 Dec 2020 -
4.2.010 Dec 2020 -
4.1.003 Dec 2020 -
4.0.201 Dec 2020 -
4.0.111 Nov 2020 -
4.0.010 Sep 2020Release notes
Open source →Added
- Add support for Laravel 8
- Drop support for Laravel 5.8 and lower
- Drop support for PHP 7.1 and lower
-
3.7.010 Sep 2020Release notes
Open source →Added
- HasSettingsField now adheres to $connection override on model Ref. task
-
3.6.727 Aug 2020 -
3.6.625 Aug 2020 -
3.6.507 May 2020 -
3.6.424 Apr 2020 -
3.6.321 Apr 2020 -
3.6.220 Apr 2020 -
3.6.123 Mar 2020 -
3.6.003 Mar 2020 -
3.5.504 Feb 2020 -
3.5.420 Dec 2019 -
3.5.311 Dec 2019 -
3.5.204 Dec 2019 -
3.5.129 Nov 2019 -
3.5.014 Oct 2019 -
3.4.225 Sep 2019 -
3.4.117 Sep 2019 -
3.3.103 Sep 2019Nothing published for this version
-
3.3.029 Aug 2019 -
3.2.007 Aug 2019 -
3.1.101 Jul 2019 -
3.1.028 Jun 2019Release notes
Open source →Added
- Configure persistence for settings in case of Field Type (HasSettingsField)
-
3.0.118 Apr 2019Nothing published for this version
-
3.0.020 Mar 2019Release notes
Open source →Added
- Command to create the table for settings
- Dynamic name for the settings table and field
-
2.0.026 Jan 2019 -
1.0.008 Jan 2019