Skip to content

v3.8.20

Choose a tag to compare

@marcusquinn marcusquinn released this 14 Apr 03:05
· 11084 commits to main since this release

Fixed (GH#18804 follow-up)

PR #18813 (v3.8.18) added a 'entering candidate loop' fence-post that proved the silent dispatch failure happens INSIDE the candidate loop, not in the prepass capture. This release adds the next layer of diagnostics.

  • Switched candidate iteration from process substitution to a tempfile feed. Process substitution failures are invisible to set -e and the parent subshell; a tempfile is observable — line count is now logged BEFORE the loop runs.
  • Per-iteration fence-post logging (unconditional, not PULSE_DEBUG-flagged): logs every iteration entry, the rc from _dff_process_candidate, and the 'loop body finished' marker. This pinpoints the exact iteration where a silent exit occurs.
  • _dff_process_candidate rc is now captured via the set-e-safe || _dff_proc_rc=$? idiom instead of relying on if-context masking — belt-and-braces against any future refactor that loses that masking.
  • First-candidate JSON preview log (240-byte truncated) so operators can see the shape the loop is iterating over.