Releases: apple/swift-configuration
1.2.0
What's Changed
SemVer Minor
- Add PropertyListSnapshot provider for property list configuration files by @manojmahapatra in #155
Other Changes
- Enable dependabot and switch GHA references to tags by @czechboy0 in #160
- Fix benchmarks to fix CI by @czechboy0 in #161
- Reloading config example by @heckj in #158
- Add reloading-example to the Examples README by @czechboy0 in #162
- add demonstration flow and fix grammar errors in example README by @heckj in #163
- Add AWS secrets manager configuration package to community providers section of README by @benrosen78 in #165
New Contributors
- @benrosen78 made their first contribution in #165
- @manojmahapatra made their first contribution in #155
Full Changelog: 1.1.0...1.2.0
1.1.0
1.0.2
What's Changed
SemVer Patch
- Fix compiler crash on Swift 6.2.3 debug builds by @adam-fowler in #151
Other Changes
- Fix security reporting URL by @czechboy0 in #146
- [CI] Build with the Android SDK and run the tests in the Android x86_64 emulator by @finagolfin in #140
- [Docs] Add Android as supported platform by @finagolfin in #147
- [CI] Add automated release workflow using swift-temporal-sdk by @inductor in #150
- adding example to naming suggestions by @heckj in #152
New Contributors
- @finagolfin made their first contribution in #140
- @inductor made their first contribution in #150
- @adam-fowler made their first contribution in #151
Full Changelog: 1.0.1...1.0.2
1.0.1
What's Changed
SemVer Patch
- Add support for one zero and yes no boolean strings in environement variables provider by @Adobels in #120
- Update EnvironmentValueArrayDecoder to emit empty values when present by @Adobels in #133
Other Changes
- Upgrade GitHub Actions for Node 24 compatibility by @salmanmkc in #119
- Docs: Update KeyMappingProvider example to use prefixKeys(with:) by @sidepelican in #125
- Update method signatures in code snippets within code comments. by @Adobels in #121
- Edits for active voice over passive, present tense over past, and a couple of typos. by @heckj in #136
- [Docs] Link Mattt's TOML provider under Community Providers by @czechboy0 in #129
- Update example to 1.0 by @czechboy0 in #111
- [CI] Fix static SDK build workflow by @czechboy0 in #141
- [Docs] Custom provider guidelines by @czechboy0 in #137
- switch links from symbol links to reference sources by @heckj in #142
- bump min service lifecycle dependency to 2.8 by @heckj in #143
New Contributors
- @salmanmkc made their first contribution in #119
- @sidepelican made their first contribution in #125
- @Adobels made their first contribution in #120
Full Changelog: 1.0.0...1.0.1
1.0.0
Swift Configuration reaches 1.0! 🎉
This milestone allows integrating this package in API-stable libraries and applications, and building API-stable custom providers.
Many thanks to the folks who've provided feedback since the initial release, you made this possible 🙏 Do keep the feedback coming, while the API will not take breaking changes anymore, we will continue to evolve it in an API-additive way.
Which way will you integrate?
- Make it easy to configure your library by offering a method with a ConfigReader parameter (docs).
- Make it easy to integrate any configuration sources you need by instantiating a ConfigReader in your application (docs).
- Expand Swift Configuration's capabilities by implementing a custom configuration provider, for example to add support for another file format or by calling an external configuration system (docs).
What's Changed
⚠️ Breaking changes since 1.0.0-alpha.1
- Rename traits: drop the Support suffix by @czechboy0 in #101
- Removed deprecated code by @czechboy0 in #93
Full Changelog: 1.0.0-alpha.1...1.0.0
1.0.0-alpha.1
This is the first alpha release of Swift Configuration 1.0.0. There are no more planned API-breaking changes and unless issues come up, this is the API shape that will be stabilized as Swift Configuration 1.0.0 in a couple of weeks.
Please update your libraries and applications to use this alpha release and provide feedback 🙏
⚠️ API-breaking changes between 0.2.0 and 1.0.0-alpha.1
- Generic file providers (Implementation of SCO-0001) by @czechboy0 in #60
- Migration: Rename references from
JSONProvidertoFileProvider<JSONSnapshot>, same forYAMLProviderand their reloading variants.
- Migration: Rename references from
- Rename ConfigSnapshotProtocol -> ConfigSnapshot by @czechboy0 in #67
- Migration: Rename references from
ConfigSnapshotProtocoltoConfigSnapshot
- Migration: Rename references from
- Remove custom key decoders by @czechboy0 in #71
- Migration: Use the period-separated default key decoder.
- Rename ConfigReader.withSnapshot(_:) to ConfigReader.snapshot() by @czechboy0 in #79
- Migration: Rename references from
withSnapshottosnapshot.
- Migration: Rename references from
- Remove the ConfigKeyEncoder API by @czechboy0 in #86
- Migration: Use the built-in key encoders.
Other changes
SemVer Minor
- NonisolatedNonsendingByDefault and other concurrency fixes by @czechboy0 in #63
- Add an allowMissing parameter to file-based providers by @czechboy0 in #73
- Allow non-copyable Return types in with-style methods by @czechboy0 in #81
- Add missing availability annotations in public APIs by @czechboy0 in #85
SemVer Patch
- Label closure parameters in public APIs by @czechboy0 in #82
Other Changes
- [Proposal] SCO-0001: Generic file providers by @czechboy0 in #62
- [SCO-0002] Remove custom key decoders by @czechboy0 in #72
- Prep docs for alpha.1 by @czechboy0 in #87
Full Changelog: 0.2.0...1.0.0-alpha.1
0.2.0
What's Changed
⚠️ Breaking changes between 0.1.x and 0.2.0
- Rename bytes-from-string decoders in #57
- Rename ProviderCompatTest.run() -> ProviderCompatTest.runTest() in #56
SemVer Minor
- Default to enabled observability in #54
- Expose AbsoluteConfigKey prepending/appending by @finnvoor in #39
SemVer Patch
- [Refactor] Remove ConcreteAsyncSequence in #38
- Move from platform versions to symbol availability in #48
Other Changes
- [README] Fix 'Custom key syntax' link in #3
- [CI] Enable static SDK builds in #4
- Fix up a secrets example in #5
- [Docs] Remove obsolete example about catching ConfigError in #7
- Update Package.swift by @carlynorama in #9
- [Docs] Fix up docs around key mapping in #46
- Add linkage test in #53
- [CI] Test examples in #50
- chore: restrict GitHub workflow permissions - future-proof by @incertum in #59
- Update docs for the 0.2.0 release in #58
New Contributors
- @carlynorama made their first contribution in #9
- @finnvoor made their first contribution in #39
- @incertum made their first contribution in #59
Full Changelog: 0.1.1...0.2.0
0.1.1
What's Changed
Other Changes
- SPI needs the docc-plugin installed to build the docs - this fixes that scenario by @heckj in #1
- Use the general runner pool for PRs by @czechboy0 in #2
New Contributors
- @heckj made their first contribution in #1
- @czechboy0 made their first contribution in #2
Full Changelog: 0.1.0...0.1.1