{"version":"2.1.196","anchor":"bug-fixes","canonical_anchor":"bug-fixes","heading":"","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.196\/e\/bug-fixes","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.196","markdown":"- Non-regular file reads (devices, FIFOs, sockets) now throw a proper `ERR_NOT_REGULAR_FILE` error code rather than silently failing or producing confusing output. Directory reads throw `EISDIR`. (search for `\"Not a regular file (device, FIFO, or socket)\"`)\n\n- gRPC keepalive connection teardown now uses `session.destroy()` instead of `session.close()` for ping failures, timeouts, and send errors, preventing state corruption from half-closed connections.\n\n- Windows file-deny glob expansion now correctly rejects directory targets with a clear error message instead of silently skipping them. (search for `\"Windows fs deny requires explicit file paths;\"`)\n\n- The `mcp.json` server enablement check now correctly compares server names using the same matching logic as the session-approved list, reducing spurious \"server not found\" errors.\n\n- Session transcript files orphaned by a crashed process are now renamed to `.orphaned-<timestamp>-<uuid>.jsonl` rather than being left in place to confuse future sessions. (search for `\".orphaned-\"`)\n\n- The localhost detection used in proxy and network code now handles `host:port` strings correctly, avoiding false negatives when a port number is appended. (search for the new `qmn` function)\n\n- PostToolUse and PostToolUseFailure hook failures are now reported with distinct log messages, making it easier to diagnose which hook phase failed. (search for `\"PostToolUse hook dispatch failed\"` and `\"PostToolUseFailure hook dispatch failed\"`)"}