A patch release focused on fixing hook failure output. Previously, failing steps could produce duplicated or missing diagnostic output depending on the combination of output_summary, check_first, and fail_fast settings. These fixes ensure that failure output is shown exactly once, includes both stdout and stderr so no diagnostics are lost, and preserves the configured summary label.
Fixed
-
No more duplicate output on failure: The end-of-run error handler was reprinting the first failing step's output after the per-step summary had already displayed it. This caused confusing duplication and misattribution -- for example, one tool's errors could appear to be part of another tool's section. The redundant
handle_script_failedoutput has been removed. (@nkakouros) #784 -
Combined output shown for failed steps: When a step fails, hk now shows combined stdout+stderr output regardless of the
output_summarysetting (unless set to"hide"). Previously, ifoutput_summarywas set to"stderr"but the tool wrote diagnostics to stdout (as eslint, flake8, prettier, and many others do), those diagnostics were invisible in the failure summary. (@nkakouros) #772 -
Configured output summary label preserved on failure: The combined-output-on-failure fix from #772 was changing the summary header from the configured label (e.g.,
lint stderr:) tolint combined:. The label now matches the configuredoutput_summaryvalue while still using combined content underneath. (@jdx) #808 -
check_firstdiagnostics preserved when cancelled byfail_fast: For steps usingcheck_difforcheck_list_fileswithcheck_first, diagnostic output from the check phase was lost if another step failed first and triggeredfail_fastcancellation before the fix phase could run. The check output is now saved so it appears in the summary. (@nkakouros) #784
New Contributors
Full Changelog: v1.41.0...v1.41.1