Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Settings Laravel Package

spatie/laravel-settings

Store strongly typed app settings in Laravel using dedicated Settings classes backed by databases, Redis, and more. Inject settings via the container, read and update properties, then save—keeping configuration structured, testable, and easy to manage.

View on GitHub
Deep Wiki
Context7
3.7.1

What's Changed

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.7.0...3.7.1

3.7.0

What's new

  • Add support for Laravel's memoized cache driver (Cache::memo(), requires Laravel 12.9+)

When enabled, settings cache values are stored in memory during a single request, preventing repeated cache store hits.

Configuration

// config/settings.php
'cache' => [
    'enabled' => true,
    'memo' => true, // or env('SETTINGS_CACHE_MEMO', false)
],



Per-repository configuration is also supported.

Backwards compatible — on Laravel versions without Cache::memo(), the option is silently ignored.

3.5.1

What's Changed

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.5.0...3.5.1

3.5.0

What's Changed

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.4.4...3.5.0

3.4.3

What's Changed

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.4.2...3.4.3

3.4.2

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.4.1...3.4.2

3.4.1

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.4.0...3.4.1

3.3.3

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.3.2...3.3.3

3.3.0

What's Changed

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.2.3...3.3.0

3.2.3
  • Revert "Use Illuminate\Database\Eloquent\Casts\Json if possible" (#249)
3.2.2
  • Use Illuminate\Database\Eloquent\Casts\Json if possible (#241)
3.2.1
  • Change provider tag name for config (#233)
3.2.0
  • Add support for database-less fakes
3.1.0
  • Add support for nullable enum properties
  • Updates to the upgrade guide
3.0.0
  • Allow repositories to update multiple settings at once (#213 )
  • The default location where searching for settings happens is now app_path('Settings') instead of app_path()
  • The default discovered_settings_cache_path is changed
2.8.3
  • Remove doctrine as a dependency
2.8.2
  • Fix remigration problems with anonymous settings migrations
2.8.1
  • Show message and target path after setting migration created (#203)
  • Follow Laravel's namespace convention in MakeSettingCommand (#200)
  • Update MakeSettingsMigrationCommand.php (#205)
  • Revert "Add support for structure discoverer"( #207)
2.8.0
  • Drop Laravel 8 support
  • Drop PHP 8.0 support
  • Use spatie/structures-discoverer for finding settings
2.7.0
  • Add Laravel 10 Support (#192)
  • Update make:settings migration class as anonymous class (#189)
  • Use correct namespace in make:settings command (#190)
2.6.1
  • Add current date to the settings migration file (#178)
  • Add command to make new settings (#181)
1.6.1
  • create settings migration with current date (#179)
2.6.0
  • Add support for caching on repository level
2.5.0
  • Remove deprecated package
  • Add laravel data cast
  • Add support for PHP 8.2
  • Remove PHP 7.4 support
  • Remove dto cast from default config
2.4.5
  • Add deleteIfExists() method to migrator (#154)
2.4.4
  • cache encrypted settings

Please, be sure to clear your cache since settings classes with encrypted properties will crash due to the cached versions missing a proper encrypted version of the property. Clearing and caching again after installing this version resolves this problem and is something you probably should always do when deploying to production!

2.4.3
  • add rollback to migration
2.4.2
  • use Facade imports instead of aliases (#132)
2.4.1
  • Switch to using scoped instances instead of singletons (#129)
2.4.0
2.3.3
  • fix debug info method
  • convert PHPUnit to Pest (#118)
2.3.2
  • Allow migrations without a value (#113)
2.3.1
  • Add support for Laravel 9
  • Fix cache implementation with casts
  • Remove Psalm
  • Add PHPStan
2.2.0
  • add support for multiple migration paths (#92)
2.1.12
  • add possibility to check if setting is locked or unlocked (#89)
2.1.11
  • ignore abstract classes when discovering settings (#84)
2.1.10
  • add support for null in DateTime casts
2.1.9
  • fix empty call not working when properties weren't loaded
2.1.8
  • fix fake settings not working with Arrayable
2.1.7
  • add support for refreshing settings
2.1.6
  • add support for defining the database connection table
2.1.5
  • fix some casting problems
  • update php-cs-fixer
2.1.4
  • added fallback for settings.auto_discover_settings (#63)
  • add support for spatie/data-transfer-object v3 (#62)
2.1.3
  • add support for spatie/temporary-directory v2
2.1.2
  • skip classes with errors when discovering settings
2.1.1
  • add better support for nullable types in docblocks
2.1.0
  • add casts to migrations (#53)
  • add original properties to SavingSettings event (#57)
2.0.1
  • add support for lumen
2.0.0
  • settings classes:
  • properties won't be loaded when constructed but when requested
  • receive a SettingsMapper when constructed
  • faking settings will now only request non-given properties from the repository
  • rewritten SettingsMapper from scratch
  • removed SettingsPropertyData and ettingsPropertyDataCollection
  • changed signatures of SavingSettings and LoadingSettings events
  • added support for caching settings
  • renamed cache_path in settings.php to discovered_settings_cache_path
1.0.8
  • fix for properties without defined type
1.0.7
  • fix correct 'Event' facade (#30)
1.0.6
  • add support for restoring settings after a Laravel schema:dump
1.0.5
  • bump the doctrine/dbal dependency
1.0.4
  • add support for getting the locked settings
1.0.3
  • add PHP 8 support
1.0.2
  • fix package namespace within migrations (#9)
1.0.1
  • fix config file tag (#4)
  • fix database migration path exists (#7)
1.0.0
  • initial release
What's
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport