davianspace_configuration 1.0.3
davianspace_configuration: ^1.0.3 copied to clipboard
Flexible configuration system for Dart and Flutter with multi-source providers, hierarchical settings, environment overrides, JSON support, and runtime reload.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
1.0.3 — 2026-02-25 #
Added #
davianspace_dependencyinjectionintegration —Configuration,ConfigurationRoot, and a fluentConfigurationBuildersetup are now injectable singletons via the newaddConfiguration()andaddConfigurationBuilder()extension methods onServiceCollection(shipped as part ofdavianspace_dependencyinjection ^1.0.3). No changes to this package's public API are required; consumers import both packages and use the extensions from the DI package.
1.0.0 — 2025-07-19 #
Added #
ConfigurationBuilder— fluent builder composing multiple sources into a singleConfigurationRoot.ConfigurationRoot— merged configuration root with reverse-precedence provider iteration.ConfigurationManager— mutable live configuration; adding a provider takes effect immediately.ConfigurationSection— scoped, path-aware view into a configuration sub-tree.MemoryConfigurationProvider/MemoryConfigurationSource— flatMap<String, String?>provider.MapConfigurationProvider/MapConfigurationSource— recursiveMap<String, dynamic>andListflattening.EnvironmentConfigurationProvider/EnvironmentConfigurationSource— optional prefix filtering with__→:key mapping; web stub returns empty map.JsonStringConfigurationProvider/JsonStringConfigurationSource— all-platform JSON string parsing.JsonFileConfigurationProvider/JsonFileConfigurationSource— native file loading with optionalreloadOnChangesupport viadart:iofile watching.ConfigurationPath— colon-separated path utilities (combine,combineAll,getSectionKey,getParentPath,getSegments).KeyNormalizer— lowercase key normalisation and equality helpers.ChangeToken/TokenRegistration/NeverChangeToken— reload notification abstractions.ReloadToken— single-use, synchronously-firing change token.ChangeNotifier— rotating reload-token manager consumed byConfigurationRoot.- Zero runtime dependencies.
- 80 unit tests, all passing.