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

Strongly typed application settings for Laravel. Define settings classes with typed properties, store values in a repository (database, Redis, etc.), inject settings via the container, and update them easily with $settings->save().

View on GitHub
Deep Wiki
Context7
3.9.0

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.8.1...3.9.0

3.8.1

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.8.0...3.8.1

3.8.0

What's Changed

New Contributors

Full Changelog: https://github.com/spatie/laravel-settings/compare/3.7.2...3.8.0

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.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai