Changelog
Notable changes in each release.
All notable changes to ArturRios.Configuration are recorded in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
2.0.0 - 2026-10-29
Changed
- Behavior change:
ConfigurationLoader.LoadEnvironment()no longer overwrites environment variables the process already has. Real environment variables (injected by the container, orchestrator, shell or CI) now win over the.envfile; before, the file won, so a.env.localshipped with the build overrode deployment-injected values even in Production, via the fallback for environments without their own file. Within the file, a repeated key now keeps its first value instead of its last, and${VAR}resolves to the value in effect. Which file is loaded is unchanged:.env.<Environment>, else.env.local, never both. To let the file win for a key, unset it before loading. (DotNetEnvclobberExistingVars: false.) SettingsProviderrejects a nullIConfigurationwithArgumentNullExceptionwhen it is constructed, likeConfigurationLoaderdoes for its builder, instead of failing withNullReferenceExceptionon the first read.- The package’s project URL is the documentation site’s new address,
https://docs.artur-rios.tech/dotnet-configuration, since the site moved from GitHub Pages.
Fixed
- The documentation of
SettingsProvider.GetObject<T>states that it deserializes a JSON string value and that an appsettings section, which has no value of its own, reads asnull.
1.2.0 - 2026-08-24
Changed
ConfigurationLoadermatches.envandappsettingsfile names without regard to case, so the documentedEnvironments/.env.<Environment>andSettings/appsettings.local.jsonfallback conventions resolve on a case-sensitive file system. They silently found nothing there before, so an application started unconfigured.- Both
ConfigurationLoaderconstructors reject a null or whitespace environment name, and the builder overload rejects a null builder, at construction rather than composing a path that quietly finds nothing. ArturRios.Extensionsupdated from 1.3.0 to 1.4.0.
Fixed
- The fallback console logger no longer leaks one undisposed
LoggerFactoryperConfigurationLoaderinstance; a single factory is created lazily for the process.
1.1.0 - 2026-08-19
Changed
ArturRios.Extensionsupdated from 1.0.1 to 1.3.0, so consumers no longer resolve an outdated transitive dependency.Microsoft.Extensions.*references updated from 10.0.1 to 10.0.11, which the newerArturRios.Extensionsrequires.
1.0.0 - 2025-12-12
Added
ConfigurationLoaderto load.envfiles fromEnvironments/andappsettingsJSON fromSettings/for a named environment, with a local fallback for each.EnvironmentProviderandSettingsProviderto read OS environment variables and configuration values as bool, int, string or object.IConfigurationProvider, the interface both providers implement, for writing your own.ConfigurationSourceType,DataFormatType,DataSource,EnvironmentTypeandOutputTypeenums.