-
Notifications
You must be signed in to change notification settings - Fork 14
Comparing changes
Open a pull request
base repository: apple/swift-configuration
base: 0.1.1
head repository: apple/swift-configuration
compare: 0.2.0
- 16 commits
- 112 files changed
- 4 contributors
Commits on Sep 24, 2025
-
[README] Fix 'Custom key syntax' link (#3)
### Motivation Wrong link in the README. ### Modifications Fixed the link. ### Result Link works, no 404. ### Test Plan Verified locally.
Configuration menu - View commit details
-
Copy full SHA for 3fbe75b - Browse repository at this point
Copy the full SHA 3fbe75bView commit details -
[CI] Enable static SDK builds (#4)
### Motivation Ensure the package builds against the static SDK. ### Modifications Enabled CI for static SDK builds. ### Result Additional CI. ### Test Plan Will check this PR's result.
Configuration menu - View commit details
-
Copy full SHA for 8c8cb89 - Browse repository at this point
Copy the full SHA 8c8cb89View commit details -
Configuration menu - View commit details
-
Copy full SHA for e6f5e4f - Browse repository at this point
Copy the full SHA e6f5e4fView commit details -
[Docs] Remove obsolete example about catching ConfigError (#7)
### Motivation Fixes #6. Because `ConfigError` isn't actually a public type, remove an example that showed how to catch and inspect it. ### Modifications Removed the example. ### Result Corrected docs. ### Test Plan N/A
Configuration menu - View commit details
-
Copy full SHA for 4dbce5f - Browse repository at this point
Copy the full SHA 4dbce5fView commit details
Commits on Sep 25, 2025
-
### Motivation The example points to a local version of the repo, but it's now ready to point to github. ### Modifications Changed the `Package.swift` in the getting started example to point to this repo. ### Result Example code will no longer look for a local copy. ### Test Plan I built and ran the package and it said hello!
Configuration menu - View commit details
-
Copy full SHA for 4a50528 - Browse repository at this point
Copy the full SHA 4a50528View commit details
Commits on Oct 6, 2025
-
[Docs] Fix up docs around key mapping (#46)
### Motivation The docs had an incorrect name for `KeyMappingProvider`, plus they didn't really show how to use the convenience methods. ### Modifications Fixed the name and added examples of the convenience method. ### Result Improved docs. ### Test Plan Previewed locally.
Configuration menu - View commit details
-
Copy full SHA for c8af26e - Browse repository at this point
Copy the full SHA c8af26eView commit details -
[Refactor] Remove ConcreteAsyncSequence (#38)
### Motivation We don't need ConcreteAsyncSequence anymore, it used to be necessary before ConfigUpdatesAsyncSequence existed, but not any more. ### Modifications Remove ConcreteAsyncSequence, internal type. ### Result Simplified code. ### Test Plan Verified tests pass on 6.2 and 6.1 locally.
Configuration menu - View commit details
-
Copy full SHA for 1f7cd0d - Browse repository at this point
Copy the full SHA 1f7cd0dView commit details
Commits on Oct 7, 2025
-
Move from platform versions to symbol availability (#48)
### Motivation Packages such as valkey-swift and async-http-client don't use platform versions in their Package.swift, so they can't depend on this package unless we drop it too. ### Modifications Switched from Package.swift platform versions to per-symbol availability. ### Result This does NOT actually make the code work on older versions than before, just changes how we express availability. It's still macOS 15.0+. ### Test Plan All tests passed locally.
Configuration menu - View commit details
-
Copy full SHA for 618d19d - Browse repository at this point
Copy the full SHA 618d19dView commit details
Commits on Oct 14, 2025
-
### Motivation Ensure that we don't accidentally link the full Foundation on Linux, as we generally only need FoundationEssentials. ### Modifications Adds a script ensuring that the Configuration module only links FoundationEssentials on Linux. ### Result Confidence that we don't accidentally start linking the full Foundation. ### Test Plan CI.
Configuration menu - View commit details
-
Copy full SHA for 80df713 - Browse repository at this point
Copy the full SHA 80df713View commit details -
Default to enabled observability (#54)
### Motivation Swift Log/Swift Metrics integration should be enabled by default. And the operator can always pass in a no-op log/metrics backend if they want to discard it. This is important when Configuration is used as a transitive dependency, as there the operator wouldn't have a way to _enable_ observability from this library unless the direct dependency that pulled in Configuration was cooperative. ### Modifications Enabled logging/metrics by default by changing the default parameter values in the reloading providers. ### Result Logs/metrics emitted for reloading providers by default. ### Test Plan Adapted tests.
Configuration menu - View commit details
-
Copy full SHA for f078f10 - Browse repository at this point
Copy the full SHA f078f10View commit details -
Rename bytes-from-string decoders (#57)
### Motivation Fixes #14 - the naming was a bit inconsistent, as it's not decoding "hex bytes" from a "string", but instead "bytes" from a "hex string". ### Modifications Renamed types: - `Base64ByteFromStringDecoder` -> `ConfigBytesFromBase64StringDecoder` - `HexByteFromStringDecoder` -> `ConfigBytesFromHexStringDecoder` ### Result Better names. ### Test Plan Updated tests.
Configuration menu - View commit details
-
Copy full SHA for 5932a13 - Browse repository at this point
Copy the full SHA 5932a13View commit details -
Rename ProviderCompatTest.run() -> ProviderCompatTest.runTest() (#56)
### Motivation Fixes #35, which brought up a good point that `run()` wasn't a good name for a compat test method to actually run tests. ### Modifications Renamed to `runTest()`. ### Result A less confusing method name. ### Test Plan Ran tests locally.
Configuration menu - View commit details
-
Copy full SHA for d142b30 - Browse repository at this point
Copy the full SHA d142b30View commit details -
### Motivation As we evolve the API and the examples, we want to make sure the examples continue to build successfully. ### Modifications Added CI setup for the Examples directory. ### Result Better test coverage of examples. ### Test Plan Ran the script locally, will check again on CI that it's green.
Configuration menu - View commit details
-
Copy full SHA for 29823e4 - Browse repository at this point
Copy the full SHA 29823e4View commit details
Commits on Oct 16, 2025
-
Expose AbsoluteConfigKey prepending/appending (#39)
### Motivation Docs mention: > ```swift > // Only remap the environment variables, not the JSON config > let keyMappedEnvProvider = KeyMappingProvider(upstream: envProvider) { key in > key.prepending(["myapp", "prod"]) > } > ``` but `prepending(_:)`/`appending(_:)` were internal. ### Modifications Switched `internal` to `public`. ### Result `KeyMappingProvider` is easier to use :-) ### Test Plan n/aConfiguration menu - View commit details
-
Copy full SHA for 6a0e3dd - Browse repository at this point
Copy the full SHA 6a0e3ddView commit details
Commits on Oct 20, 2025
-
chore: restrict GitHub workflow permissions - future-proof (#59)
See swiftlang/github-workflows#167 for additional context This approach aligns with security best practices, as detailed in the following documentation: - https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions - https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#defining-access-for-the-github_token-scopes - https://openssf.org/blog/2024/08/12/mitigating-attack-vectors-in-github-workflows/ The default GITHUB_TOKEN permissions are defined at the repository level. This PR modifies the workflow-level overrides to conform to OpenSSF best practices -> defense in depth. Allow me to quote OpenSSF: https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions > The highest score is awarded when the permissions definitions in each workflow's yaml file are set as read-only at the top level and the required write permissions are declared at the run-level.” > Remediation steps > - Set top-level permissions as read-all or contents: read as described in GitHub's documentation. > - Set any required write permissions at the job-level. Only set the permissions required for that job; do not set permissions: write-all at the job level. Compare to the LLVM project: Top-level: contents read, e.g. https://github.com/swiftlang/llvm-project/blob/next/.github/workflows/build-ci-container-windows.yml#L3-L4 -> this makes it future-proof Job-level: Allow write permissions as needed, e.g. https://github.com/swiftlang/llvm-project/blob/next/.github/workflows/build-ci-container-windows.yml#L53-L58 Signed-off-by: Melissa Kilby <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ab27eef - Browse repository at this point
Copy the full SHA ab27eefView commit details
Commits on Oct 21, 2025
-
Update docs for the 0.2.0 release (#58)
### Motivation We made a few breaking changes, so let's get 0.2.0 out. ### Modifications Updated docs to refer to a 0.2.0 release instead of 0.1.0. ### Result Accurate docs. ### Test Plan N/A
Configuration menu - View commit details
-
Copy full SHA for 9d5e407 - Browse repository at this point
Copy the full SHA 9d5e407View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.1.1...0.2.0