- Field Renaming and Semantic Clarification: The
holdfield inOptions,TerminalOptions, andPtyOptionshas been renamed todrain_on_exitacross the codebase. This improves semantic clarity by distinguishing between two distinct behaviors: draining output before exit versus holding the terminal open after exit. - Behavioral Shift in Exit Logic: The logic previously controlled by
holdnow usesdrain_on_exit, ensuring the child process’s output is drained upon termination, but the window may still close unless explicitly held open via external means. Exit handling inevent_loop.rshas been updated to reflect this behavioral distinction. - Config and Struct Updates: All related structs (
UiConfig,Window,WindowContext,EventLoop) have been updated to reflect the newdrain_on_exitnaming. This ensures consistent naming and avoids legacy confusion. - UI Window Behavior: A new
holdfield has been added to theWindowstruct to manage whether the terminal window should remain open on exit, separating UI behavior from terminal process behavior. - Exit Control Improvements: When a user closes a window manually (
CloseRequestedevent),holdis explicitly set tofalseto allow proper shutdown, ensuring manual control supersedes configuration-based persistence. - Documentation and Changelog Updates: The CHANGELOG entry for version
0.25.0-devdocuments the replacement ofholdwithdrain_on_exit, providing visibility into this breaking change and its rationale (terminal holding should now be handled externally).