Impact: Scripts that rely on column positions must be updated
Benefit: Rich packet analysis capabilities without changing existing Information column behavior
Data line processing refactored to read all lines into memory for efficient multi-line record detection
Performance: Minimal impact due to optimized List usage
Benefit: Enables accurate lookahead for detail blocks and continuation lines
Question names that are missing or encoded as empty are now handled gracefully (no parse errors); CSV output will contain an empty QuestionName field when absent
Improved
Convert-DNSDebugLogFile parsing is more resilient: stricter line validation and improved extraction reduce spurious/invalid rows from malformed logs while preserving the CSV/statistic output format
PACKET context detection distinguishes between simple queries and queries with detail blocks
Empty lines after PACKET entries without details are properly skipped
Domain name decoding in detail blocks uses existing ConvertTo-Fqdn function for consistency
Performance
Processing speed maintained for logs without detail blocks
NoDetailsParsing switch provides 30-50% speed improvement when JSON parsing is not needed
Efficient state management during multi-line record processing
Optimized string operations (TrimStart, Join) instead of regex for continuation line handling
Notes
These changes are designed to be backward compatible for normal usage. If you rely on an exact set of context names or previously-strict parsing behavior, please validate downstream scripts
The new Details column is always present in CSV output; use NoDetailsParsing to keep it empty for performance
Existing scripts that parse CSV by column position need to account for the new Details column (position 17, before ComputerName)