PackageTrack
Sign in Get early access

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 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 50
  1. 9.0.2 22 Jul 2026

    Nothing published for this version

  2. 9.0.1 22 Jul 2026
    Release notes

    Full Changelog: 9.0.0...9.0.1

    Open source →
  3. 9.0.0 21 Jul 2026
    Release notes

    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.md

    Removed 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 array

    Open source →
    Release notes

    Added

    • Single HasSettings trait with configuration-driven driver selection (MODEL_SETTINGS_DRIVER env / driver config / per-model $settingsDriver property)
    • SettingsManagerFactory singleton with extend() 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) and drivers.redis.key_prefix

    Changed (BREAKING)

    • Removed the HasSettingsField, HasSettingsTable and HasSettingsRedis traits - 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 table and redis drivers throw ModelSettingsException when the model has no primary key yet
    • The redis driver 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)
    Open source →
  4. 8.0.4 13 Apr 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 8.0.3...8.0.4

    Open source →
  5. 8.0.3 14 Sep 2025
    Release notes

    Removed Model::getConnectionName() override and moved fallback to eac…

    …h call. (#122)

    Open source →
  6. 8.0.2 18 Jun 2025
    Release notes

    What's Changed

    • fix: nullable type parameter deprecation on PHP 8.4

    New Contributor

    @jamesdb made their first contribution in #128

    Open source →
  7. 8.0.1 15 Mar 2025
    Release notes

    What's Changed

    • [Proposal] Rename HasSettings::getRules to HasSettings::getSettingsRules by @ipswise in #123

    New Contributors

    Full Changelog: 8.0.0...8.0.1

    Open source →
    Release notes

    Added

    • Rename HasSettings::getRules to HasSettings::getSettingsRules
    Open source →
  8. 8.0.0 28 Feb 2025
    Release notes

    What's Changed

    Full Changelog: 7.0.0...8.0.0

    Open source →
    Release notes

    Added

    • Add support for Laravel 12
    Open source →
  9. 7.0.0 13 Mar 2024
    Release notes

    What's Changed

    Full Changelog: 6.0.3...7.0.0

    Open source →
    Release notes

    Added

    • Add support for Laravel 11
    • 8.1 min. php version
    Open source →
  10. 6.0.3 20 Sep 2023
    Release notes

    Fix "Segmentation fault" for model inheritance (#109)

    * Fix "Segmentation fault" for model inheritance

    * Fix formatting

    Open source →
  11. 6.0.2 19 Jun 2023

    Nothing published for this version

  12. 6.0.0 20 Feb 2023

    Nothing published for this version

  13. 5.0.1 21 Jan 2023

    Nothing published for this version

  14. 5.0.0 10 Feb 2022
    Release notes

    Added

    • Add support for Laravel 9 by @belzaaron
    • DROP Laravel 7,8 support
    • 8.0 min. php version
    Open source →
  15. 4.4.1 12 Nov 2021
    Release notes

    Fix

    • fix validation variable name
    Open source →
  16. 4.4.0 01 Nov 2021
    Release notes

    Added

    • Validation system for settings data
    Open source →
  17. 4.3.0 11 Oct 2021
    Release notes

    Added

    • Using another method name other than settings()
    Open source →
  18. 4.2.2 07 Apr 2021
    Release notes

    Fix param type

    Open source →
  19. 4.2.1 14 Dec 2020
    Release notes

    Added

    • PHP8 support
    Open source →
  20. 4.2.0 10 Dec 2020
    Release notes

    Added

    • Refactor the work with default settings (flatten arrays)
    Open source →
  21. 4.1.0 03 Dec 2020
    Release notes

    Added

    • Refactor unit tests
    Open source →
  22. 4.0.2 01 Dec 2020
    Release notes

    Added

    • Setup connection of the model in HasSettingsTableTrait
    Open source →
  23. 4.0.1 11 Nov 2020
    Release notes

    Added

    • Update README
    Open source →
  24. 4.0.0 10 Sep 2020
    Release notes

    Added

    • Add support for Laravel 8
    • Drop support for Laravel 5.8 and lower
    • Drop support for PHP 7.1 and lower
    Open source →
  25. 3.7.0 10 Sep 2020
    Release notes

    Added

    • HasSettingsField now adheres to $connection override on model Ref. task
    Open source →
  26. 3.6.7 27 Aug 2020
    Release notes

    Fix

    • code refactor
    Open source →
  27. 3.6.6 25 Aug 2020
    Release notes

    Fix

    • default configs for a table in model_settings.php config file
    Open source →
  28. 3.6.5 07 May 2020
    Release notes

    Fix

    • code refactor
    • use Cache facade instead of cache() helper function
    Open source →
  29. 3.6.4 24 Apr 2020
    Release notes

    Fix

    • github actions
    Open source →
  30. 3.6.3 21 Apr 2020
    Release notes

    Fix

    • "empty()" - to check if the model has empty setting
    Open source →
  31. 3.6.2 20 Apr 2020
    Release notes

    Fix

    • "exist()" - to check if the model has valid setting
    Open source →
  32. 3.6.1 23 Mar 2020
    Release notes

    Fix

    • https://github.com/glorand/laravel-model-settings/issues/50
    Open source →
  33. 3.6.0 03 Mar 2020
    Release notes
    • add support for Laravel 7
    Open source →
  34. 3.5.5 04 Feb 2020
    Release notes

    Bugfix

    Open source →
  35. 3.5.4 20 Dec 2019
    Release notes

    Fix

    • https://github.com/glorand/laravel-model-settings/issues/40
    Open source →
  36. 3.5.3 11 Dec 2019
    Release notes

    Fix

    • https://github.com/glorand/laravel-model-settings/issues/36
    Open source →
  37. 3.5.2 04 Dec 2019
    Release notes

    Fix

    • https://github.com/glorand/laravel-model-settings/issues/33
    Open source →
  38. 3.5.1 29 Nov 2019
    Release notes

    Fix

    • Check column settings exists directly on the database table
    Open source →
  39. 3.5.0 14 Oct 2019
    Release notes

    Added

    • Use cache in case of Table Settings Ref. task
    • Refactor
    Open source →
  40. 3.4.2 25 Sep 2019
    Release notes

    Added

    • Manage array type settings
    Open source →
  41. 3.4.1 17 Sep 2019
    Release notes

    Added

    • Redis support
    Open source →
  42. 3.3.1 03 Sep 2019

    Nothing published for this version

  43. 3.3.0 29 Aug 2019
    Release notes

    Added

    • Default settings on Model
    Open source →
  44. 3.2.0 07 Aug 2019
    Release notes

    Added

    • Compatibility with PSR-16, CacheInterface
    Open source →
  45. 3.1.1 01 Jul 2019
    Release notes

    Added

    • Test for console commands
    Open source →
  46. 3.1.0 28 Jun 2019
    Release notes

    Added

    • Configure persistence for settings in case of Field Type (HasSettingsField)
    Open source →
  47. 3.0.1 18 Apr 2019

    Nothing published for this version

  48. 3.0.0 20 Mar 2019
    Release notes

    Added

    • Command to create the table for settings
    • Dynamic name for the settings table and field
    Open source →
  49. 2.0.0 26 Jan 2019
    Release notes

    Added

    • Console Commands
    Open source →
  50. 1.0.0 08 Jan 2019
    Release notes

    Added

    • Initial release
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive