A patch release for the console that arrived in 0.4: fixes from a review of the new output, the summer CLI and the logging.
Fixed
- Lines a command prints while a spinner, progress bar or process view is running now keep their order, and none is lost when the view ends.
- A spinner or progress bar only takes the lines of the command that started it. Another command's output no longer lands in it.
- Pressing Ctrl+C (or sending SIGTERM) while a spinner or progress bar runs restores the cursor and the terminal.
- Commands that
summerhands to your application binary now get the terminal, so the production confirmation and styled output work. Their stderr stays apart from the data on stdout,summerexits with the binary's exit code, and the binary's error is printed once instead of twice. summer devgivesserveits full shutdown grace before stopping it, so in-flight requests and jobs can finish.- A daily log file that could not be opened is retried a minute later or on the next day, instead of staying off until a restart. Daily log files that were replaced are closed.
- Error blocks, process views and tables strip terminal control characters from the text they show, so a message can no longer move the cursor, clear the screen or change the window title.
- The hint shown when a command runs in the wrong directory masks the values of password, secret, token and key flags.
migratereports the migration sets it actually applied, also when a later set fails.
Added
bonfire.WithExitCodeends a command with an exit code of your choice.bonfire.Sanitizestrips terminal control characters from a string, for output you build yourself.