aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md10
1 files changed, 8 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c7f0250..77ba50c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -375,7 +375,7 @@ None
- `pick_global_argument(program, arg)` → `program.pick_argument(arg)`
- Import `mingling::picker::PickerHelper` instead of `mingling::picker::{pick_global_flag, pick_global_argument}`
-4. **[`core:program`]** **[BREAKING]** Refactored the program configuration settings into typed enums. The previously boolean-based fields in `ProgramStdoutSetting` and `ProgramUserContext` have been replaced with new semantic enum types, improving type safety and self-documentation.
+4. **[`core:program`]** **[BREAKING]** Refactored the program configuration settings into typed enums and moved them to a dedicated `config` module. The previously boolean-based fields in `ProgramStdoutSetting` and `ProgramUserContext` have been replaced with new semantic enum types, improving type safety and self-documentation. Additionally, all configuration types — including `StructuralRendererSetting` — have been moved under `mingling_core::config`, with the `config` module made public.
**`ProgramStdoutSetting` changes:**
@@ -398,7 +398,12 @@ None
- `ProgramStdoutSetting::default()`: `ErrorOutput::Show`, `RenderOutput::Show`, `PanicSilence::Show`, `Verbosity::Normal`, `ColorOutput::Enabled`, `ProgressOutput::Enabled`
- `ProgramUserContext::default()`: `confirmation: ConfirmationMode::Confirm`, `execution: ExecutionMode::Normal`, `interaction: InteractionMode::NonInteractive`, `yes_assumption: YesAssumption::None`
- All new enum types are defined in `mingling_core::program::config` and re-exported from the `mingling_core` crate root.
+ **Module reorganization:**
+
+ - All config types are defined in `mingling_core::program::config`, which is now a public module (`pub mod config`).
+ - `StructuralRendererSetting` (previously exposed at the crate root) now lives in `mingling_core::config` and must be referenced as `mingling_core::config::StructuralRendererSetting`.
+ - Internal usages across `program.rs`, `collection.rs`, `mock.rs`, `once_exec.rs`, `hook.rs`, `structural.rs`, and setup modules have been updated to reference the new `config::` path.
+ - The `config` module is re-exported from the `mingling_core` crate root as `mingling_core::config`.
**Migration guide:**
@@ -415,6 +420,7 @@ None
- `ctx.force = true` → `ctx.execution = ExecutionMode::Force`
- `ctx.interactive = true` → `ctx.interaction = InteractionMode::Interactive`
- `ctx.assume_yes = true` → `ctx.yes_assumption = YesAssumption::AssumeYes`
+ - References to `mingling_core::StructuralRendererSetting` → `mingling_core::config::StructuralRendererSetting`
_Behavioral semantics are preserved — the same configuration states are expressible in both the old boolean form and the new enum form, but the typed enums eliminate impossible states (e.g., both `verbose` and `quiet` set simultaneously) and make the intent of each setting explicit through named variants._