All notable changes to laravel-settings will be documented in this file
- Make
spatie/data-transfer-objectdependency optional. (#160)
- Adds a cache prefix resolver by @leobeal in #362
- @leobeal made their first contribution in #362
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.8.1...3.9.0
- cast env('SETTINGS_CACHE_ENABLED') to boolean by @ismaail in #361
- @ismaail made their first contribution in #361
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.8.0...3.8.1
- chore(deps): bump dependabot/fetch-metadata from 2.5.0 to 3.0.0 by @dependabot[bot] in #359
- chore(deps): bump dependabot/fetch-metadata from 3.0.0 to 3.1.0 by @dependabot[bot] in #360
- fix(settings): update settings migrator and repositories to deal with locked attribute on rename operation by @carlos-mora in #358
- @carlos-mora made their first contribution in #358
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.7.2...3.8.0
- Add
ShouldBeEncryptedattribute by @willrowe in #353
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.7.1...3.7.2
- Add type hint to up method and use config for table name by @bernhardh in #355
- Allow phpdocumentor/type-resolver v2 for Laravel 12 compatibility by @milorojas in #354
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.7.0...3.7.1
- 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.
// 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.
- fix issue 343 Fixed: When multiple tenants have the same cache key, tenants cannot be distinguished by @Wsmallnews in #344
- Revert "Update migration file publishing with timestamp" by @rubenvanassche in #349
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.5.0...3.5.1
- Register the auto discover cache and clear commands as optimize commands by @willrowe in #327
- Update migration file publishing with timestamp by @samuelterra22 in #341
- [Feature] Added ArrayDataCast to cast arrays of Laravel Data by @serious-angel in #334
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.4.4...3.5.0
- Fix #319
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.4.3...3.4.4
- Do not save settings with missing migrations by @gazben in #313
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.4.2...3.4.3
- Fill missing settings with default values by @gazben in #298
- @gazben made their first contribution in #298
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.4.1...3.4.2
- chore(deps): bump dependabot/fetch-metadata from 2.2.0 to 2.3.0 by @dependabot in #309
- Change out of date stubs in README by @GrandadEvans in #310
- Support Illuminate\Support\Carbon as cast by @Propaganistas in #311
- chore: fix typo by @danjohnson95 in #306
- @GrandadEvans made their first contribution in #310
- @Propaganistas made their first contribution in #311
- @danjohnson95 made their first contribution in #306
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.4.0...3.4.1
- Update README.md by @marventhieme in #290
- Update README.md by @marventhieme in #291
- Feat: add exists in migrator by @akshit-arora in #289
- @marventhieme made their first contribution in #290
- @akshit-arora made their first contribution in #289
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.3.3...3.4.0
- Handle Parentheses On Anonymous Settings Migrations by @Magnesium38 in #280
- @Magnesium38 made their first contribution in #280
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.3.2...3.3.3
- [3.x] Fix PHP 7.4 Compatibilty by @Rizky92 in #264
- Update MakeSettingCommand.php by @hamzaelmaghari in #262
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.3.1...3.3.2
- fix when base path is app path by @mvenghaus in #259
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.3.0...3.3.1
- Update composer.json to use Larastan Org by @arnebr in #252
- Add support for laravel 11 by @shuvroroy in #256
- Added settings driven custom encoder/decoder by @naxvog in #250
Full Changelog: https://github.com/spatie/laravel-settings/compare/3.2.3...3.3.0
- Revert "Use Illuminate\Database\Eloquent\Casts\Json if possible" (#249)
- Use Illuminate\Database\Eloquent\Casts\Json if possible (#241)
- Change provider tag name for config (#233)
- Add support for database-less fakes
- Add support for nullable enum properties
- Updates to the upgrade guide
- Allow repositories to update multiple settings at once (#213 )
- The default location where searching for settings happens is now
app_path('Settings')instead ofapp_path() - The default
discovered_settings_cache_pathis changed
- Remove doctrine as a dependency
- Fix remigration problems with anonymous settings migrations
- 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)
- Drop Laravel 8 support
- Drop PHP 8.0 support
- Use spatie/structures-discoverer for finding settings
- Add Laravel 10 Support (#192)
- Update make:settings migration class as anonymous class (#189)
- Use correct namespace in make:settings command (#190)
- Add current date to the settings migration file (#178)
- Add command to make new settings (#181)
- create settings migration with current date (#179)
- Add support for caching on repository level
- Remove deprecated package
- Add laravel data cast
- Add support for PHP 8.2
- Remove PHP 7.4 support
- Remove dto cast from default config
- Add deleteIfExists() method to migrator (#154)
- 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!
- add rollback to migration
- use Facade imports instead of aliases (#132)
- Switch to using scoped instances instead of singletons (#129)
- Add TTL config for settings cache by @AlexVanderbist in #122
- @AlexVanderbist made their first contribution in #122
Full Changelog: https://github.com/spatie/laravel-settings/compare/2.3.3...2.4.0
- fix debug info method
- convert PHPUnit to Pest (#118)
- Allow migrations without a value (#113)
- Add support for Laravel 9
- Fix cache implementation with casts
- Remove Psalm
- Add PHPStan
- add support for multiple migration paths (#92)
- add possibility to check if setting is locked or unlocked (#89)
- ignore abstract classes when discovering settings (#84)
- add support for
nullin DateTime casts
- fix
emptycall not working when properties weren't loaded
- fix fake settings not working with
Arrayable
- add support for refreshing settings
- add support for defining the database connection table
- fix some casting problems
- update php-cs-fixer
- added fallback for settings.auto_discover_settings (#63)
- add support for spatie/data-transfer-object v3 (#62)
- add support for spatie/temporary-directory v2
- skip classes with errors when discovering settings
- add better support for nullable types in docblocks
- add casts to migrations (#53)
- add original properties to
SavingSettingsevent (#57)
- add support for lumen
- settings classes:
- properties won't be loaded when constructed but when requested
- receive a
SettingsMapperwhen constructed - faking settings will now only request non-given properties from the repository
- rewritten
SettingsMapperfrom scratch - removed
SettingsPropertyDataandettingsPropertyDataCollection - changed signatures of
SavingSettingsandLoadingSettingsevents - added support for caching settings
- renamed
cache_pathin settings.php todiscovered_settings_cache_path
- fix for properties without defined type
- fix correct 'Event' facade (#30)
- add support for restoring settings after a Laravel schema:dump
- bump the
doctrine/dbaldependency
- add support for getting the locked settings
- add PHP 8 support
- fix package namespace within migrations (#9)
- fix config file tag (#4)
- fix database migration path exists (#7)
- initial release