All notable changes to Configula
will be documented in this file since v3.0
Updates should follow the Keep a CHANGELOG principles.
- Symfony Config 6.x tests
- Explicit
XDEBUG_MODE=coverage
environment variable tocomposer test
script
- Code syntax cleanup and improvements
- Updated PHPUnit config file (
phpunit.xml.dist
) to v9.x schema
- Added attribute to fix PHP Deprecation warning in v8 (thanks @usox!)
- Ability for PhpFileLoader to load arrays directly from included PHP files (thanks @thedumbtechguy!)
- Support for PHP v8.1
- Support for Symfony 6
- Updated PHPStan to v1.2 and fixed code issues
- Unused
extensionMap
property inFolderLoader
- Merge
$_ENV
andgetenv()
arrays inEnvLoader.php
; fixes an issue with Symfony dotEnv loader
- Support for PHP v8
- Support for
dflydev/dot-access-data
version 3.0 and newer - PHPStan, which replaces Scrutinizer
- Some additional tests
- BREAKING: Added
final
keyword forConfigValues
constructor, and addedprotected init()
method to keep any custom logic that was previously in the controller (see <UPGRADE.md>) - BREAKING: Made all concrete loader classes final (see <UPGRADE.md>)
- Added support for
vlucas/dotenv
v5.0 and newer - Beginning to implement GitHub Workflows in order to replace Travis-CI
- Refactored logic in
PhpFileLoader
- Travis checks and Scrutinizer checks (replaced by GitHub builds and PHPStan)
- Support for PHP < 7.3
- Support for PHPUnit < 9.x
- Support for Symfony v3 and < v4.4
- PHP 7.4 test in
travis.ci
- Support for Symfony v5
.editorconfig
file (to make developers' lives easier :)- Strict types declaration on every file (
declare(strict_types=1);
)
- Update to PSR-12 coding standard (from PSR-2)
- Explicitly cast results to string in order to facilitate strict types
- Added this changelog
- Added
ConfigValues::__invoke()
method - Added
ConfigValues::get()
method - Added
ConfigValues::hasValue()
method - Added
ConfigValues::find()
method - Added
ConfigValues::has()
method - Added
ConfigValues::getIterator()
method - Added
ConfigValues::fromConfigValues()
method - Added
ConfigValues::getArrayCopy()
method - Added Validator and Symfony Configuration Validator Bridge
- Added
ConfigFactory
to replace v2 functionality and add additional utility methods - Added
ConfigLoaderInterface
and all loaders inLoader
namespace to replace drivers - Added ability to load values from environment and any arbitrary source (via
ConfigLoaderInterface
) - Added filters, including
SymfonyConfigFilter
- Main config class changed from
Config
toConfigValues
- Configula now requires PHP v7.1 or newer. Use Configula v2.0 for PHP5.x/7.0 support.
- Configula now requires Symfony 3.4 or newer.
- All configuration loading has been moved from
ConfigValues
constructor into separate classes. - Invalid files or other load errors now throw a
ConfigLoaderException
- Switched from PSR-0 to PSR-4
ConfigValues
constructor now accepts an array of values instead of a file pathConfigValues
now implementsIteratorAggregate
instead ofIterator
- Use
dfyldev/data
for access to nested values via dot-notation (removedgetNestedVar
method)
- Removed
Config(Values)::loadConfig()
. Use loaders now. - Removed
Config(Values)::loadConfgFile()
. Use loaders now. - Removed
Config(Values)::parseConfigFile()
. - Removed
DriverInterface
and all drivers. Use loaders now. - Removed
ConfigulaException
. All exceptions now extendException\ConfigException
.
ConfigValues::getItems()
is now deprecated. UseConfigValues::getArrayCopy()
instead.ConfigValues::getItem()
is now deprecated. UseConfigValues::get()
instead.ConfigValues::valid()
is now deprecated. UseConfigValues::has()
instead.