Releases: leynos/ortho-config
Releases · leynos/ortho-config
Think global
What's Changed
- Plan behavioural test suite migration to rstest-bdd by @leynos in #233
- Preserve clap help/version exit codes with is_display_request by @leynos in #232
- Replace cucumber-rs tests with rstest-bdd scaffolding by @leynos in #235
- Replace cucumber tests with rstest-bdd in ortho-config by @leynos in #236
- Migrate hello_world tests to rstest-bdd; drop cucumber/gherkin and tokio by @leynos in #237
- Fluent Localization for Clap: Localizer trait, NoOp, and DemoLocalizer by @leynos in #238
- Implement Fluent localisation integration for clap by @leynos in #243
- Refactor FluentLocalizer: optional inner and safe lookup by @leynos in #244
- Add Fluent localisation for clap errors with command context by @leynos in #245
- LayerComposition API and Fluent localization for Clap integration by @leynos in #246
- Integrate fluent localisation and declarative loading in clap examples by @leynos in #248
- Merge-aware JSON deserialization and error routing by @leynos in #252
- Add per-config doc comments to OrthoConfig-generated structs by @leynos in #254
- Add with-matches merging, CliValueExtractor, and cli_default_as_absent by @leynos in #255
- Plan streamline subcommand overrides with optional post-merge hook by @leynos in #256
- Add SelectedSubcommandMerge derive and load_globals helper by @leynos in #257
- Clarify error mapping in config loading phases by @leynos in #261
- Refactor: Split build/cli into dedicated cli module and cli_flags by @leynos in #260
- Preserve error chains in with_fresh_graph tests and helpers by @leynos in #259
- Add multi-level config inheritance tests (grandparent → parent → child) by @leynos in #262
- Prefer #[expect] and annotate remaining #[allow] with rationale by @leynos in #267
- Refactor test harness: per-operation EnvVarLock/EnvScope locking by @leynos in #263
- Fix boolean env var parsing in CsvEnv and add tests by @leynos in #266
- Align extends merge with declarative append semantics by @leynos in #268
- Verify localized help messages in Hello World by @leynos in #269
Full Changelog: v0.6.0...v0.7.0
Declarative Merging 4 All
What's Changed
- Detail DeclarativeMerge roadmap tasks by @leynos in #192
- Normalise cycle detection keys on insensitive filesystems by @leynos in #194
- Improve extends error handling for missing files by @leynos in #195
- Extract shared struct generation helper by @leynos in #196
- Refactor derive build helpers into focused modules by @leynos in #193
- Split discovery builder and tests into submodules by @leynos in #197
- Introduce declarative merge scaffolding by @leynos in #203
- Defer reporting discovery errors when a file loads by @leynos in #204
- Add negative coverage for declarative merges by @leynos in #205
- Polish declarative merge documentation grammar by @leynos in #210
- Document Fluent localisation design by @leynos in #212
- Forbid missing docs lints and document exposed API surfaces by @leynos in #213
- Enforces strict Clippy lints and refactors codebase by @leynos in #214
- Document serde-saphyr migration roadmap tasks by @leynos in #218
- Document push_default_xdg const incompatibility by @leynos in #217
- Enable strict YAML 1.2 semantics via serde-saphyr options by @leynos in #220
- Fix replace merge semantics for collection fields by @leynos in #219
- Add declarative merge precedence coverage by @leynos in #225
- Add migration guide for v0.6.0 by @leynos in #226
- Add Lading publish-check target by @leynos in #228
- Skip YAML-dependent tests when the yaml feature is disabled by @leynos in #230
- Fix Windows path normalization in discovery and tests (ASCII-lowercase) by @leynos in #229
- Pin shared-actions SHAs and add coverage artefact suffix by @leynos in #231
Full Changelog: v0.5.0...v0.6.0
Boilerplate reduction
What's Changed
- Document attribute parsing helpers by @leynos in #67
- Handle unknown ortho_config keys gracefully by @leynos in #68
- Fix wrapper path detection by @leynos in #69
- Implement CSV env var support by @leynos in #70
- Implement configuration inheritance by @leynos in #72
- Refactor file error creation by @leynos in #81
- Document usage examples for configuration helpers by @leynos in #80
- Refine subcommand merging by @leynos in #78
- Refactor config file parsing by @leynos in #79
- Implement hidden clap parser for config derivation by @leynos in #85
- Refactor short flag resolution by @leynos in #86
- Consolidate Prefix::new documentation by @leynos in #87
- Refactor CsvEnv to use Env helper by @leynos in #89
- Refactor field attribute parsing by @leynos in #88
- Add usage example for normalize_prefix by @leynos in #90
- Use lint expectations for trait methods by @leynos in #92
- Prevent CLI None overriding defaults by @leynos in #91
- Remove unfulfilled lint expectation for prefix by @leynos in #93
- Document subcommand merge tests by @leynos in #94
- Aggregate configuration errors across sources by @leynos in #95
- Improve CLI and config merging with flatten support by @leynos in #97
- Restrict push_stem_candidates to crate by @leynos in #102
- Document config features and add tests by @leynos in #98
- Extract subcommand env provider helper by @leynos in #99
- Refactor extends processing into helpers by @leynos in #104
- Introduce generic config discovery helper by @leynos in #103
- Document error conversion helper by @leynos in #100
- Refactor XDG path search in collect_unix_paths by @leynos in #101
- Refine extends helpers and tests by @leynos in #105
- Box large error variants by @leynos in #117
- Guard environment mutations in path tests by @leynos in #116
- Update user guide for modern API by @leynos in #107
- Add crate metadata for publishing by @leynos in #124
- Remove legacy subcommand config helpers by @leynos in #125
- Document sanitisation helpers and refine error mapping by @leynos in #122
- Add SubcmdConfigMerge trait for subcommand configs by @leynos in #121
- Add version sync script by @leynos in #126
- Expose SubcmdConfigMerge and fix example serialization by @leynos in #129
- Re-export config dependencies by @leynos in #134
- Extract path canonicalisation helper by @leynos in #130
- Document config_path flag usage in guide by @leynos in #135
- Refactor CLI long flag validation and add tests by @leynos in #132
- Document candidate path search order by @leynos in #131
- Clarify CLI flag naming and preallocate long flag set by @leynos in #143
- Bump tokio from 1.47.0 to 1.47.1 by @dependabot[bot] in #138
- Bump serde_json from 1.0.140 to 1.0.143 by @dependabot[bot] in #139
- Bump tempfile from 3.20.0 to 3.21.0 by @dependabot[bot] in #137
- Bump thiserror from 1.0.69 to 2.0.12 by @dependabot[bot] in #140
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #141
- Bump syn from 2.0.102 to 2.0.106 by @dependabot[bot] in #142
- Use tomlkit for version bumps by @leynos in #133
- Bump clap from 4.5.40 to 4.5.46 by @dependabot[bot] in #144
- Bump thiserror from 2.0.12 to 2.0.16 by @dependabot[bot] in #145
- Bump proc-macro2 from 1.0.95 to 1.0.101 by @dependabot[bot] in #146
- Bump trybuild from 1.0.105 to 1.0.110 by @dependabot[bot] in #147
- Clarify flag derivation in users guide by @leynos in #149
- Remove srgn documentation reference by @leynos in #154
- Adopt Arc-backed errors and OrthoResult by @leynos in #156
- Normalise roadmap checkboxes by @leynos in #155
- Bump toml from 0.8.23 to 0.9.5 by @dependabot[bot] in #148
- Bump rstest from 0.25.0 to 0.26.1 by @dependabot[bot] in #150
- Bump clap from 4.5.46 to 4.5.47 by @dependabot[bot] in #151
- Bump leynos/shared-actions from ebbaaa0d7a776ec3187f3940667e5c7c9379cdf5 to 988ff278fcab48e8a932e2af88ce1aaaa78386a0 by @dependabot[bot] in #152
- Bump tempfile from 3.21.0 to 3.22.0 by @dependabot[bot] in #153
- Add fallible error aggregation and iteration support by @leynos in #160
- Add subcommand precedence tests by @leynos in #161
- Bump serde from 1.0.219 to 1.0.224 by @dependabot[bot] in #167
- Bump trybuild from 1.0.110 to 1.0.111 by @dependabot[bot] in #164
- Bump serde_json from 1.0.143 to 1.0.145 by @dependabot[bot] in #163
- Preserve trailing newline in version bump script by @leynos in #168
- Bump toml from 0.9.5 to 0.9.6 by @dependabot[bot] in #166
- Add hello world example outline by @leynos in #169
- Add hello world example crate by @leynos in #171
- Fix hello world CLI layering by @leynos in #176
- Add hello world rstest and cucumber coverage by @leynos in #178
- Add hello world sample configuration demos by @leynos in #179
- Add reusable config discovery helper by @leynos in #183
- Expose configurable discovery in docs and hello world by @leynos in #187
- Normalise ortho_config prefix underscore handling by @leynos in #190
- Clarify declarative merge roadmap checklist by @leynos in #189
New Contributors
- @dependabot[bot] made their first contribution in #138
Full Changelog: v0.4.0...v0.5.0
Ergonomics Enhancements
What's Changed
- Extract subcommand env provider helper by @leynos in #99
- Refactor extends processing into helpers by @leynos in #104
- Introduce generic config discovery helper by @leynos in #103
- Document error conversion helper by @leynos in #100
- Refactor XDG path search in collect_unix_paths by @leynos in #101
- Refine extends helpers and tests by @leynos in #105
- Box large error variants by @leynos in #117
- Guard environment mutations in path tests by @leynos in #116
- Update user guide for modern API by @leynos in #107
- Add crate metadata for publishing by @leynos in #124
- Remove legacy subcommand config helpers by @leynos in #125
- Document sanitisation helpers and refine error mapping by @leynos in #122
- Add SubcmdConfigMerge trait for subcommand configs by @leynos in #121
- Add version sync script by @leynos in #126
- Expose SubcmdConfigMerge and fix example serialization by @leynos in #129
- Re-export config dependencies by @leynos in #134
- Extract path canonicalisation helper by @leynos in #130
- Document config_path flag usage in guide by @leynos in #135
- Refactor CLI long flag validation and add tests by @leynos in #132
- Document candidate path search order by @leynos in #131
- Clarify CLI flag naming and preallocate long flag set by @leynos in #143
- Bump tokio from 1.47.0 to 1.47.1 by @dependabot[bot] in #138
- Bump serde_json from 1.0.140 to 1.0.143 by @dependabot[bot] in #139
- Bump tempfile from 3.20.0 to 3.21.0 by @dependabot[bot] in #137
- Bump thiserror from 1.0.69 to 2.0.12 by @dependabot[bot] in #140
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #141
- Bump syn from 2.0.102 to 2.0.106 by @dependabot[bot] in #142
- Use tomlkit for version bumps by @leynos in #133
- Bump clap from 4.5.40 to 4.5.46 by @dependabot[bot] in #144
- Bump thiserror from 2.0.12 to 2.0.16 by @dependabot[bot] in #145
- Bump proc-macro2 from 1.0.95 to 1.0.101 by @dependabot[bot] in #146
- Bump trybuild from 1.0.105 to 1.0.110 by @dependabot[bot] in #147
- Clarify flag derivation in users guide by @leynos in #149
- Remove srgn documentation reference by @leynos in #154
- Adopt Arc-backed errors and OrthoResult by @leynos in #156
- Normalise roadmap checkboxes by @leynos in #155
- Bump toml from 0.8.23 to 0.9.5 by @dependabot[bot] in #148
- Bump rstest from 0.25.0 to 0.26.1 by @dependabot[bot] in #150
- Bump clap from 4.5.46 to 4.5.47 by @dependabot[bot] in #151
- Bump leynos/shared-actions from ebbaaa0d7a776ec3187f3940667e5c7c9379cdf5 to 988ff278fcab48e8a932e2af88ce1aaaa78386a0 by @dependabot[bot] in #152
- Bump tempfile from 3.21.0 to 3.22.0 by @dependabot[bot] in #153
- Add fallible error aggregation and iteration support by @leynos in #160
- Add subcommand precedence tests by @leynos in #161
- Bump serde from 1.0.219 to 1.0.224 by @dependabot[bot] in #167
- Bump trybuild from 1.0.110 to 1.0.111 by @dependabot[bot] in #164
- Bump serde_json from 1.0.143 to 1.0.145 by @dependabot[bot] in #163
- Preserve trailing newline in version bump script by @leynos in #168
- Bump toml from 0.9.5 to 0.9.6 by @dependabot[bot] in #166
- Add hello world example outline by @leynos in #169
New Contributors
- @dependabot[bot] made their first contribution in #138
Full Changelog: v0.5.0-alpha1...v0.5.0-beta2
Might break
What's Changed
- Document attribute parsing helpers by @leynos in #67
- Handle unknown ortho_config keys gracefully by @leynos in #68
- Fix wrapper path detection by @leynos in #69
- Implement CSV env var support by @leynos in #70
- Implement configuration inheritance by @leynos in #72
- Refactor file error creation by @leynos in #81
- Document usage examples for configuration helpers by @leynos in #80
- Refine subcommand merging by @leynos in #78
- Refactor config file parsing by @leynos in #79
- Implement hidden clap parser for config derivation by @leynos in #85
- Refactor short flag resolution by @leynos in #86
- Consolidate Prefix::new documentation by @leynos in #87
- Refactor CsvEnv to use Env helper by @leynos in #89
- Refactor field attribute parsing by @leynos in #88
- Add usage example for normalize_prefix by @leynos in #90
- Use lint expectations for trait methods by @leynos in #92
- Prevent CLI None overriding defaults by @leynos in #91
- Remove unfulfilled lint expectation for prefix by @leynos in #93
- Document subcommand merge tests by @leynos in #94
- Aggregate configuration errors across sources by @leynos in #95
- Improve CLI and config merging with flatten support by @leynos in #97
- Restrict push_stem_candidates to crate by @leynos in #102
- Document config features and add tests by @leynos in #98
Full Changelog: v0.4.0...v0.5.0-alpha1
Cleaner merge API
What's Changed
- Add ddlint gap analysis by @leynos in #49
- Add Cucumber test design by @leynos in #51
- Refactor path discovery helpers by @leynos in #50
- Refactor macro load impl generation helpers by @leynos in #52
- Fix unused Format import by @leynos in #53
- Add docs for macro helpers by @leynos in #54
- Improve Cargo cache isolation by @leynos in #57
- Refactor attribute parsing and type helpers by @leynos in #56
- Extract jail test utilities by @leynos in #64
- Run formatting by @leynos in #63
- Fix docs and merge test helpers by @leynos in #65
- Introduce load_and_merge method by @leynos in #66
Full Changelog: v0.3.0...v0.4.0
Add basic Windows support
Bump version to 0.3.0 (#48) * Bump version to 0.3.0 * Use setup-rust v1.0.2 * Use setup-rust v1.0.3
Closer to the real thing
API has been tidied up somewhat. The simplified API will require a migration (see README.md)
Initial release
Note, this API is unstable and will change in subsequent 0.x.x releases.